Hallo,

kan iemand me aub even helpen met vertellen wat ik hier aan moet veranderen om het met preg_replace te laten werken.

$bericht = eregi_replace("\\[email=([^\\[]*)\\]([^\\[]*)\\[/email\\]", "<a href=\"mailto:\\1\">\\2</a>",$bericht);  

   
$bericht = eregi_replace("\\[url=([^\\[]*)\\]([^\\[]*)\\[/url\\]","<a href=\"\\1\" target=_blank>\\2</a>",$bericht);


Dacht dat dit al werkte:


$bericht = preg_replace("/\\[email=([^\\[]*)\\]([^\\[]*)\\[/email\\]/", "<a href=\"mailto:\\1\">\\2</a>",$bericht);  

   
$bericht = preg_replace("/\\[url=([^\\[]*)\\]([^\\[]*)\\[/url\\]/","<a href=\"\\1\" target=_blank>\\2</a>",$bericht);
Bij het maken van regex'en is het fijn om deze direct te testen. Ik doe dit met http://regexpal.com

Naar preg_replace:


preg_replace ('#\[url=(.*?)\](.*?)\[/url]#', '<a href="$1" target="_blank">$2</a>', $bericht);


Dit heb ik niet op PHP getest, dus als er iets fout zit, dan zal dat liggen aan de backslashes. Als je trouwens wilt dat en [UrL=..] ook meegenomen worden, dan moet je nog de i achter het laatste # zetten. Dus zo: #i Dit geeft dan aan dat de pattern case INsensitive gezocht moet worden.

Reageren