Mailinglisten-Archive |
On 14 Dec 2001 at 16:57, Arash Yalpani wrote: > Hallo Michael, hallo Roland, > > >1. <NEWLINE> durch <br> ersetzen > >2. <br></li> durch </li> ersetzen > >$string=nl2br(str_replace("\n</li>","</li>",$string)) > > vielen Dank für die Vorschläge. Leider habe ich das Szenario etwas > vereinfacht dargestellt... Es sind zwischen den <li>-Tags prinzipiell > überall und beliebig viele Newlines denkbar. > > Ich brauche so etwas: > > <li>Text mit Newlines</li> > > wird zu: > > <li>Text ohne Newlines</li> ok, dann denke ich ins blaue rein: mit preg_match("/<li>(.+?)</li>/ms") solltest du ein <li>...</li>-Vorkommen finden, den Rückgabewert behandelst du mit str_replace("\n","",$string), und dann machst du ein nl2br. das ganze noch in einer schleife, damit alle <li>...</li> gefunden werden (oder so???). möglicherweise brauchst du auch den "greedy/non greedy"-Operator (-> Handbuch). Ich bin nun wahrlich kein Experte, was regex betrifft. Aber so in die Richtung könnte es gehen. btw: and die regexPerten: gibt es auch eine andere Form, beliebige Zeichen zwischen zwei Grenzen (-> <li> </li>) zu finden? was ohne "s"-Modifyer? hth Roland
php::bar PHP Wiki - Listenarchive