2 Stimmen

Preg_replace URLs und Bilder in PHP

Ich habe eine Zeichenkette mit Text, und ich möchte alle Bild-Links durch img-Tags und andere Links durch a-Tags ersetzen.

Das habe ich bereits getan:

$row['message'] = preg_replace('/(http:\\/\\/.+(png|jpeg|jpg|gif|bmp))/Ui', '<img height="'.self::getConfig('image_height').'" src="$1" />', $row['message'], -1, $countImages);

Wie ersetzt man alle Links außer in img-Tags durch ein Tag in $row['message'] ?

Dankeschön!

0voto

dee-see Punkte 22874

Fügen Sie Ihrer Regex ein negatives lookbehind hinzu, um zu sehen, ob die URL folgt src=" .

$row['message'] = preg_replace('/(?<!src=")(http:\\/\\/.+(png|jpeg|jpg|gif|bmp))/Ui', '<img height="'.self::getConfig('image_height').'" src="$1" />', $row['message'], -1, $countImages);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X