Mailinglisten-Archive |
Hallo Jens, Am 30. Okt 2005 um 13:39 schrieb Jens Giessmann: > > Du willst also nach den Ersetzungen folgenden String haben: > > beliebiger Text > <ul> > <li>zeile1</li> > <li>zeile2</li> > <li>zeile3</li> > </ul> > beliebiger Text > > Korrekt? Ja, korrekt. > Das kannst du mit preg_replace_callback() machen, in dem du der > Callback-Funktion die Zeilen der Items uebergibst und dann in der > Funktion mit preg_replace() die <li> Tags einfuegst. Kapiere - auf die Idee, nach einer Callbackfunktion zu suchen, bin ich nicht gekommen. > // Bekommt in $treffer[1] den Teil des Textes mit den Item-Zeilen > function list_callback($treffer) { > > // Jetzt in dem Teil der Item-Zeilen die <li> Tags pro Zeile > // einfuegen > $items = preg_replace('#^(.*)$#m', '<li>\\1</li>', $treffer[1]); > > // Noch die <ul> Tags drumrum und gut ist. > return "<ul>\n" . $items . "\n</ul>"; > > } > > // Pattern um die Item-Zeilen zu finden > $pattern = '#\[Liste\]\n(.*)\n\[\/Liste\]#isU'; > > $text_new = preg_replace_callback($pattern, 'list_callback', $text); > > echo $text_new; Schön! Das werde ich gleich ausprobieren, damit sollte ich eigentlich jetzt klarkommen. Vielen Dank! Viele Grüße Peter -- ----------------------------------------------- Peter Linzenkirchner Lisardo Multimedia GmbH http://www.lisardo.biz/ Herrenbachstraße 19, 86161 Augsburg Tel. ++49-821-150565, Fax ++49-821-150595 -----------------------------------------------
php::bar PHP Wiki - Listenarchive