wat doe ik hier fout?
$text2 = "[color=green]deze tekst word groen[/color]";
$text2_preg = preg_replace("/\[color=([:a-z0-9.\/_\-?=;&]*)\]([A-Za-z0-9.\/]*)\[\/color\]/i","<font color=\"\\1\">\\2</font>",$text2);
de tekst blijft het zelfde maar hoort te veranderen naar <font color="green">deze tekst word groen</font>

thx in advance
Vrij logisch he?
Je moet ook de spatie in je patroon opnemen ...
en een color met een : ? = & of slashes erin lijkt me niet ...
<?
$text = "[color=green]deze tekst word groen[/color]";
$text = preg_replace("/\[color=([a-z0-9#]+)\]([:a-z0-9.\/_\-?=;& ]*)\[\/color\]/i","<font color=\"\\1\">\\2</font>",$text);
?>
Zo dus, werkt met hex kleuren en text kleuren :)
k dank je wel, maar mitch dit is eerst keer dat ik met die preg_replace werk dus wist niet wat alles betekende had dat script van iemand gekaapt die er ipv color, url had staan
maar iig bedankt
Van mij? :P
Zo dus:
<?
$text = preg_replace("/\[url=([:a-z0-9.\/_\-?=;&]*)\]([A-Za-z0-9.\/]*)\[\/url\]/i","<a href=\"\\1\">\\2</a>",$text);
?>
Die werkt alleen als je [ url= ]text[ /url ] gebruikt en niet zomaar met <a href ...>
Of is dit het ook niet?
jah die:P
wat denk je hiervan?
$text = preg_replace('%\[color(:|=)([#[:xdigit:][:alpha:]]{3,20})\](.+?)\[/color\]%','<span style="color:\\2;">\\3</span>',$text);

zou moeten werken in theorie :P
niet met preg..
perl ondersteund de [:xdigit:] en [:alpha:] niet. Dit zijn posix extensions; ondersteund in de ereg functies.

<?
preg_replace('/\[color[:=](\w+)\](.+)\[/color\]/gim',"/<span style=\"color:$1\">$2</span>/", $text);
?>

Reageren