Julia: Problem mit preg_replace

Hallo, ich habe hier den beliebten code, der $row[text] wiedergibt, und dabei URLS mit einer Verknüpfung à la A HREF versieht.

'.preg_replace( "((http)+(s)?:(//)|(www\.))((\w|\.|\-|\_)+)(/)?(\S+)?i", "<B><a href='http\3://\5\6\8\9'>\5\6\8\9</a></B>", nl2br(htmlentities($row["text"],ENT_QUOTES))).'

Das Problem: wenn irgendwo eine Domain in Klammern (www.123.de) steht, dann sieht die Verknüpfung so aus:

<A HREF="http://www.123.de)"> -> und das gibt Stress. Wie kann ich das Problem lösen?

Das gleiche Problem auch, wenn direkt danach ein <BR> kommt. *Heul*

  1. Hi,

    Hallo, ich habe hier den beliebten code, der $row[text] wiedergibt, und dabei URLS mit einer Verknüpfung à la A HREF versieht.

    und warum willst Du z.B. die URL http://nowww.org/ ablehnen?

    Das Problem: wenn irgendwo eine Domain in Klammern (www.123.de) steht,

    Du meinst also, wenn jemand "www.(123.de)" schreibt? Warum sollte das jemand tun? Übrigens wurden für Beispiele die Domains example.org, example.com und example.net definiert. Es existiert kein Grund, unschuldige Menschen wie z.B. den Besitzer der Domain 123.de mit in Deine Angelegenheiten mit einzubeziehen.

    Wie kann ich das Problem lösen?

    Warum benutzt Du eigentlich nicht die eine Regular Expression zur Erkennung von URLs, sondern erfindest etwas, das schon per se zur Funktionsunfähigkeit verdammt ist.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      Übrigens wurden für Beispiele die Domains example.org, example.com und example.net definiert. Es existiert kein Grund, unschuldige Menschen wie z.B. den Besitzer der Domain 123.de mit in Deine Angelegenheiten mit einzubeziehen.

      Im Prinzip richtig. Aber (ich zitiere denic.de):

      Fehler: 123.de ist keine gültige .de-Domain.
      Hinweis: Die Domain muss mindestens einen Buchstaben enthalten.

      In diesem speziellen Fall kann also kein unschuldiger Besitzer existieren ;-)

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Schreinerei Waechter
      O o ostern ...
      Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.