preg_replace, ændre tegn men ikke tegn inde i tags
Hejsa eksperterJeg har ikke den store viden om regular expression men har da rodet lidt med det før.
Et simpelt eksempel kan illustrere mit problem:
$string = "<u>nu skal den gøre alle uer fede men kun dem uden for tags</u>";
$string = preg_replace("/(>[\w ]*)(u)([\w ]*<\/?)/e","'\\1'.'<b>'.'\\2'.'</b>'.'\\3'",$string);
echo $string;
Funktionen her putter kun <b></b> om det sidste u - ikke de to første.
Hvordan får jeg funktionen til at matche alle 3 u'er i strengen - ikke kun det sidste u?
Jeg har simplificeret eksemplet meget. Det skal i min givne situation kunne undgå alle slags tags og kunne matche et hvilket som helst tegn. Men får jeg det til at virke bare som i eksemplet har jeg en tro på at jeg kan tilpasse det selv bagefter :)