RegEx negation

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • RegEx negation

    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:

    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);

    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
Lädt...
X