String mittels regex bearbeiten

Samuel

Erfahrenes Mitglied
Tagg

hab ein Problem.
und zwar folgendes:

ich hab einen String, der sieht so aus:

PHP:
<?php
$string = "<br><BR>Das ist ein test<br>to the max in the<br>mix<br><br><br>";
?>

und jetzt zum Problem:

die ersten zwei (sind nicht immer 2) <br>'s (können aber nur <br>'s sein) sollen replaced werden, und zwar mit "" (also leer)
die letzten <br>'s auch.

die <br>'s in der mitte (hier nur eins, zwischen test und to) des Strings, sollen aber mit "{\par}" replacet werden.

keine Ahung wie ichs anstellen soll ....



hoffe einer von euch kann mir weiterhelfen

mfg Samuel B. Weber
 
Hm, vielleicht so:
Code:
$text = preg_replace("/[<br>]*(.*)[<br>]*/eisu", str_replace(\"<br>\", \"{\par}\", \"$1\", $text);
 
Geh doch einfach hin und schneide den String am Anfang und am Ende ab anstatt <br> zu ersetzen strpos und substr könnten dir da behilflich sein!
 
@Nuinmundo: geht leider nicht

@Sebastianus: die Anzahl der <br>'s ist leider Variabel somit gibt da keine lösung via substr und strpos - falls doch wäre ich für eine funktionierende Lösung immer offen.

Vielen Dank im voraus

greetingz
 
So funktionierts fast :)
Code:
$text = preg_replace("/^([<br>]*)(.*)([<br>]*)$/eisU", "str_replace(\"<br>\", \"{\par}\", \"$2\")", $text);
 
ne geht leider auch nicht...
sobald die ganzen <br>'s klein geschrieben sind macht es aus allen <br> {\par}
trotzdem danke für die mühe...

ich hoffe es kommt noch jemand der hier ne lösung kennt...
 
Zurück