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