Valid html BBcode-al
Sziasztok!
Nos ismét egy problémába ütköztem:A user-ek szinezhetik a nick nevüket(like msn).
Ha a user így csinálja meg:akkor abból: És ez egyáltalán nem valid. Hogyan tudnám megoldani, hogy valid legyen?
■ Nos ismét egy problémába ütköztem:
function pnick_szinezo($p_nick){
$p_nick = preg_replace("#\[c=(.*?)\](.*?)\[/c\]#si", "<font color=\"\\1\">\\2</font>", $p_nick);
$p_nick = preg_replace("#\[b\](.*?)\[/b\]#si", "<b>\\1</b>",$p_nick);
$p_nick = preg_replace("#\[i\](.*?)\[/i\]#si", "<i>\\1</i>",$p_nick);
$p_nick = preg_replace("#\[u\](.*?)\[/u\]#si", "<u>\\1</u>",$p_nick);
$p_nick = preg_replace("#\[s\](.*?)\[/s\]#si", "<s>\\1</s>",$p_nick);
return $p_nick;
}
Ha a user így csinálja meg:
[c=blue]|i|Lon[/c][c=green]g[/c]|/i||s|[c=purple]R[/c][c=red]ifle|/s|[/c]
<font color="blue"><i>Lon</font><font color="green">g</font></i><s><font color="purple">R</font><font color="red">ifle</s></font>
<i>
Lehet valid HTMLre hozni ugyanakkor a HTML Purifier-rel.
Azt azért hozzátenném, hogy túl megengedő vagy a [c] kezelésével, nekem jobban tetszene egy
<code>"#\[c=[^\]]*\](.*?)\[/c\]#si"</code> forma, mert véleményem szerint kifejezőbb, ugyanakkor semmiképpen nem ajánlom a <font> elem használatát, inkább akkor már
az <i> úgy került oda, hogy
Megoldva