Hallo Forum!
Sitze schon seit zwei Tagen an einem Problem mit regulären Ausdrücken und komme nicht weiter. Ich habe folgenden Code, um Links in meinem Blog mit HTML-Tags versehen zu können:
Code:
$string = preg_replace("#link=(.*?)<(.*?)>#", "<a href=\"$1\" target=\"_blank\">$2</a>", $string);
In den Texten selbst steht dann also z.B.:
link=www.nix.de <Die Website nix.de>
Nun ist es so, dass die preg_replace manchmal anspringt und manchmal nicht. Es scheint völlig unberechendbar. Manchmal mittem im Text, am Anfang einer neuen Zeile, usw. Selbst wenn ich den Link durch einen funktionierenden austausche, geht es nicht. Es liegt also irgendwie an der "Position" im Text. Ich vermute, dass da irgendwelche Steuerzeichen eine Rolle spielen.
Ich erstelle die Texte normalerweise mit Word unter OS X und kopiere sie dann in ein CMS, welches gewöhnliche Textdateien daraus erstellt. Die Dateien werden später von der Website über fread ausgelesen, Sonderzeichen werden umgewandelt und nl2br ist eingebaut. Aber daran kann es doch nun wirklich nicht liegen. Kann mir das nicht erklären. Weiß jemand Rat?
Danke!