Hi,
ich komme mit einem regex problem nicht weiter, der Fall:
Ich lese Text mit BBCode aus einer Datenbank aus. Per einfacher Parsen über preg_match() wird der BBCode durch entsprechendes HTML ersetzt.
Eine zweite Funktion macht mir alle Links in dem Text automatisch klickbar, indem es sie in ein entsprechendes <a href="... - Konstrukt wrapped. Das ganze sieht so aus:
Wenn ich nun allerdings vorher alle BBCodes ausgelesen habe und ein Bild dabei ist, wir dieses Bild natürlich über <img src="http... eingebunden. Die funktion make_clickable() findet den Link und versuch diesen in einen Klickbaren Link umzuwandeln, was dann natürlich so endet:
<img src="<a href="....
wie kann ich dem Regulären Ausdruck in make_clickable() beibringen, dass er nur Links umwandeln soll, die nicht mit src=" anfangen?
Ich habe dazu einige Lösungen getestet, aber bin noch nicht zu einem Ergebnis gekommen (es funktioniert immer nur das eine oder andere) - es wäre nett, wenn mir jemand da auf die Sprünge helfen könnte...
viele Grüße,
Alex
ich komme mit einem regex problem nicht weiter, der Fall:
Ich lese Text mit BBCode aus einer Datenbank aus. Per einfacher Parsen über preg_match() wird der BBCode durch entsprechendes HTML ersetzt.
Eine zweite Funktion macht mir alle Links in dem Text automatisch klickbar, indem es sie in ein entsprechendes <a href="... - Konstrukt wrapped. Das ganze sieht so aus:
PHP-Code:
function make_clickable($url) {
return preg_replace('!(((f|ht)tp(s)?://)[-a-zA-Zа-яА-Я()0-9@:%_+.~#?&;//=]+)!i', '<a href="$1" target="_blank">$1</a>', $url);
}
<img src="<a href="....
wie kann ich dem Regulären Ausdruck in make_clickable() beibringen, dass er nur Links umwandeln soll, die nicht mit src=" anfangen?
Ich habe dazu einige Lösungen getestet, aber bin noch nicht zu einem Ergebnis gekommen (es funktioniert immer nur das eine oder andere) - es wäre nett, wenn mir jemand da auf die Sprünge helfen könnte...
viele Grüße,
Alex