PHP expert |
|
Je moet een delimeter defineren. Dat is nodig voor je regulaire expressie om onderscheidt te maken van wat je expressie is en wat niet. Zoals de fout zegt kan een delimter allesbehalve een backslash (\), cijfer of een letter zijn. Gebruik dus een symbool die niet vaak voorkomt in de expressie wereld. De meeste gebruiken ~ of #. Stel dat je nu een #-teken moet matchen dan moet je dat escapen in je expressie -> \# zo dus.
Om het met jou code te illustreren:
$bericht = preg_replace("~\[email\](.*?)\[/email\]~",'<a href="mailto:\\1">\\1</a>',$bericht);
$bericht = preg_replace("~\[email\](.*?)\[/email\]~",'<a href="mailto:\\1">\\1</a>',$bericht);
|