REGEXP: URL anklickbar machen
am 18.06.2006 20:05:41 von Ralf Gmeiner
Hallo,
ich benutze zum anklickbar machen von URLs in einem String folgende REGEXP:
$search =
'#(^|[^\"=]{1})(https?://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sme';
Leider wird bei folgendem Beispiel das Satzzeichen am Ende nicht
ausgeklammert:
"Weitere Infos unter http://www.asdf.de."
Kann mir jemand helfen? :)
Viele Grüße
Ralf
Re: REGEXP: URL anklickbar machen
am 19.06.2006 16:08:40 von Johannes Vogel
Hi Ralf
Ralf Gmeiner wrote:
> ich benutze zum anklickbar machen von URLs in einem String folgende REGEXP:
> $search =
> '#(^|[^\"=]{1})(https?://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sme';
> Leider wird bei folgendem Beispiel das Satzzeichen am Ende nicht
> ausgeklammert:
> "Weitere Infos unter http://www.asdf.de."
> Kann mir jemand helfen? :)
Weshalb sollte es? Du hast ja nicht im RegExp drin, dass der Link vorher
zu Ende sei. Dazu müsstest du einfach die Satzzeichen in die Liste der
Endzeichen reinnehmen. Aber wohl nur dann, wenn er das letzte Zeichen
des bisher vermeintlichen Link ist - schliesslich gibt's auch Punkte in
der URI drin. Vielleicht hilft bereits das:
#(^|[^\"=]{1})(https?://|ftp://|mailto:|news:)([^\s<>]+)[.!-?]?([\s\n<>]|$)#sme
HTH, Johannes
Re: REGEXP: URL anklickbar machen
am 22.06.2006 15:01:16 von Ralf Gmeiner
Hallo Johannes,
"Johannes Vogel" schrieb...
> Weshalb sollte es? Du hast ja nicht im RegExp drin, dass der Link vorher
> zu Ende sei. Dazu müsstest du einfach die Satzzeichen in die Liste der
> Endzeichen reinnehmen. Aber wohl nur dann, wenn er das letzte Zeichen
> des bisher vermeintlichen Link ist - schliesslich gibt's auch Punkte in
> der URI drin. Vielleicht hilft bereits das:
>
> #(^|[^\"=]{1})(https?://|ftp://|mailto:|news:)([^\s<>]+)[.!-?]?([\s\n<>]|$)#sme
entschuldige bitte die späte Antwort. Leider klappt das nicht. :( Hängt das
irgendwie mit dem "\s" zusammen?
Viele Grüße
Ralf