Problem mit preg_replace
Julia
- php
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*
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
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