Regulärer Ausdruck für Listen (wiki-style)
Hallo zusammen,
ich habe folgenden String namens $dbcontent
Als erstes verwende ich nl2br um Zeilenumbrüche in schöne <br /> umzuwandeln.
Danach möchte ich aus den Sternchen "*" eine Auflistung zaubern. Ich hatte folgende Idee:
Soweit ist alles ok. Aus dem Text bastelt er mir folgendes:
Der zweite Schritt wäre die überflüssigen </ul> </ul> Tags zwischen den beiden Einträgen zu entfernen. Ich hatte mir folgendes gedacht:
Irgendwie klappt es nicht. Ich habe \x13|\x10 schon durch \n und \r, dann noch einen "." ausprobiert und auch mal nichts dazwischen geschrieben. Das Suchmuster wird einfach nicht erkannt?!
Das Problem - zwischen </ul> und </ul> befindet sich noch ein Zeilenumbruch.
Kann mir jemand auf anhieb die Lösung verraten? Ich bin für heute erst mal mit meinem Latein am Ende.
Gruß
t
Hallo zusammen,
ich habe folgenden String namens $dbcontent
Code:
~1. Rohmaterial~
xxx werden gefertigt aus:
* zinnstabilisiertem, weichmacherfreien hochschlagzäh ...
* extrem schlagzähem, witterungsbeständigem ...
~2. Isolierverhalten~
U-Werte nach ...
Als erstes verwende ich nl2br um Zeilenumbrüche in schöne <br /> umzuwandeln.
Code:
$dbcontent = nl2br($dbcontent);
Danach möchte ich aus den Sternchen "*" eine Auflistung zaubern. Ich hatte folgende Idee:
Code:
$suchmuster[3] = '/\*(.*?)\<br \/\>/i';
$ersetzungen[3] = '<ul><li>$1</li></ul>';
$dummy = preg_replace($suchmuster, $ersetzungen, $dbcontent);
$dbcontent = $dummy;
Soweit ist alles ok. Aus dem Text bastelt er mir folgendes:
Code:
xxx werden gefertigt aus:<br />
<ul><li>zinnstabilisiertem, weichmacherfreien hochschlagzäh ... </li></ul>
<ul><li>extrem schlagzähem, witterungsbeständigem ... </li></ul>
<br />
2. Isolierverhalten<br />
U-Werte nach ...<br />
Der zweite Schritt wäre die überflüssigen </ul> </ul> Tags zwischen den beiden Einträgen zu entfernen. Ich hatte mir folgendes gedacht:
Code:
$suchmuster[4] = '/\<\/ul\>\x13|\x10\<ul\>/';
$ersetzungen[4] = '';
Irgendwie klappt es nicht. Ich habe \x13|\x10 schon durch \n und \r, dann noch einen "." ausprobiert und auch mal nichts dazwischen geschrieben. Das Suchmuster wird einfach nicht erkannt?!
Das Problem - zwischen </ul> und </ul> befindet sich noch ein Zeilenumbruch.
Kann mir jemand auf anhieb die Lösung verraten? Ich bin für heute erst mal mit meinem Latein am Ende.
Gruß
t
Zuletzt bearbeitet: