eisbaer04: Regex für die neuen Umlautdomains

Beitrag lesen

Hallo,

Hai,

ich habe einige PHP-Scripts, die eine Eingabe in der Form:
http://www.domain.de
umwandeln in:
<a href="http://www.domain.de">http://www.domain.de</a>

Da es nun die Umlautdomains gibt, werde ich wohl oder übel die entsprechende Regex die das macht umschreiben müssen. Meine bisherige Lösung sieht so aus:

$text=preg_replace("/(https?://)(www.)?([a-zA-Z0-9-]+.)?([a-zA-Z0-9-]+.[a-zA-Z]{2,5})([a-zA-Z0-9.-?~/=%]+[/~a-zA-Z0-9])?/","<a href="\1\2\3\4\5">\1\2\3\4\5</a>",$text);

Schreib statt
    [a-zA-Z0-9-]
lieber das - an den Anfang der Zeichenklasse, da es so in einigen "Dialekten" Probleme geben kann. Gewöhn dir das lieber so an, dann fällt die Übernahme in andere Programmiersprachen oder Skipte leichter. Außerdem brauchst du es dann nicht zu maskieren.
    [-a-zA-Z0-9]

Ist es denn überhaupt problemlos möglich slch eine Regex um Umlaute und ß zu erweitern? Immerhin sind es ja Sonderzeichen. Werden die normal in die Regex behandelt?

Das ist auch vom Encoding abhängig, aber theoretisch sollte
    [a-zA-ZÖÄÜöäüß]
funktionieren. Leider hab ich jetzt nicht die Möglichkeit zu testen.

In Perl dürfte es ja das gleiche Problem geben. Wer hat sich denn schon mit dem Thema neue Sonderzeichendomains bei der Programmierung beschäftigt?

Also ich nicht ;-)

schönen Gruß

viel Spaß beim Testen

René

eisbaer04 (der auch René heißt)

(Der die neuen Domains einfach doof findet und vermutet das es bald viele Probleme geben wird)

Ich freu mich schon auf die Russischen Domains (&#1074;&#1074;&#1074;.&#1075;&#1091;&#1075;&#1079;&#1083;.&#1088;&#1091;) ;-)