Frage: URL ersetzen

  • folgende Aufgabenstellung: Ich möchte in einem Text alle URLs (also "Wörter", die mit http:// oder www. beginnen) ersetzen. Und zwar das ganze in einen <a href="..."> usw. Tag ersetzen (ich hoffe, es ist klar, was gemeint ist). Und zwar sollen alle die mit http:// anfangen in einem neuen Fenster aufgehen und alle anderen nicht.

    Frageee: Hat jemand ein fertiges PHP-Skript, das soetwas tut? Bevor ich mich nämlich länger damit beschäftige, wollte ich mal fragen, ob es mir nicht einer von Euch geben könnte. :D

    Thanx.

    *** Make it idiot proof, and someone will build a better idiot. ***

  • Ist zwar nicht von mir aber ich glaub, das Skript sollte es tun, auch gleich mit e-mails.



    (Das hats mir jetzt ein bisschen seltsam formatiert, aber mit copy&paste sollts schon gehn)

    edit: den Mittelteil ändert das Forum ständig, ich versuchs hier nochmal auszuschreiben:

    Code
    [size=10]"\\1(url)\\2\\4(/url)",
     
    "(url)\\1\\3(/url)"
     
    [/size]



    und weiter unten

    Code
    [size=10]"\\1(email)\\2(/email)",
     
    "(email)\\0(/email)"



    [/size](bei beiden statt den runden Klammern eckige)

    Falls es nicht geht kann ichs dir als txt attachen, so geht nix verloren durchs Forum.

    Hmmm bin mir jetzt gar nicht sicher ob das Skript dein Problem löst, aber es geht zumindest irgendwie in die Richtung. Ich glaub es ersetzt durch (url)text(url) aber ein paar kleine Änderungen und das sollt gehn.

    lG,
    Murmel

  • fertiges skript kann ich dir keines anbieten, es dürfte aber _echt_ keien schwierigkeit werden das zu realisieren.

    ich hab ein skript, das ich bei einem web-projekt von mir verwende, es ersetzt "[open]BLAH.PHP[/open]" aus einem beliebigen text duch den text, wobei BLAH.PHP an jeder Stelle im Text included wird. das müsstest einfach anpassen können.

    gibts auf meiner HP zum download.
    [edit] mein dolles skript funkt doch net so richtig[/edit]

  • voila:

    Code
    function html_activate_links($str) {
    $str = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '<a href="[url='file://1/']\\1[/url]" target="_blank">\\1</a>', $str);
    $str = eregi_replace('([[:space:]()[{}])([url='http://www.[-a-zA-Z0-9@:%_/+.~#?&//=]+)'"]www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)'[/url], '\\1<a href="[url='http:////2']http://\\2[/url]" target="_blank">\\2</a>', $str);
    $str = eregi_replace('([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})','<a href=\"mailto:\\1\">\\1</a>', $str);
    return $str;
    }

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!