Hallo,
ich habe folgendes Rroblem:
ich habe ein Feld in einer Tabelle, in der die Postings meines Forums stehen. Diese Postings enthalten html-Code. Diesen möchte ich jetzt durch bbCode ersetzen. Es klappt auch überall, nur beim img-Tag nicht.
Folgende Möglichkeiten bestehen:
1. [img]xyz.jpg[/img]
2. [img]xyz.jpg[/img]
Des Weiteren können in einem Posting auch mehrere img-Tags direkt hintereinander vorkommen. Ebenso kann einer mal das border="0" enthalten, ein nachfolgdener nicht. Hier sind alle Kombinationen möglich.
Ersetzt werden sollen alle img-Tags (egal ob mit oder ohne "border") durch
[img]xyz.jpg[/img]
border="0" fällt also unter den Tisch.
Folgender Code erlaubt bereits das richtige Ersetzen von mehreren img-Tags nur mit dem Problem, dass da kein border="0" enthalten sein darf, dann klappts nicht:
PHP-Code:
$image = preg_replace('/\[img](.*?)[/img]/si', '[img]\\1[/img]', $image);
Ich habe bereits das "si" durch "mi" ersetzt. Gleicher Effekt.
Wo ist liegt das Problem? Und wie könnte ich z.B. überprüfen, ob es sich wirklich nur um [img]...[/img] handelt? Also genau dieser String?
Bin schon bald am Verzweifeln. Danke.