Hi,
die URL-Gerechte Codierung des Zeichens %27 hat mir gefehlt.
Das hole ich aus der Datenbank (UTF-8 codiert) und gebe es so in eine HTML-Seite:
Sorry, in der Datenbank war das Leerzeichen (per Eingabeprogramm) als %20 drin, habe ich mit phpmyadmin wieder auf Leerzeichen gesetzt.
echo "<a id='No".$lfd."' href='".$row['url']."'> </a>";
Klarer Fall: Kontextwechsel nicht beachtet. Zur Ausgabe in den HTML-Kontext wäre htmlspecialchars() anzuwenden.
Hatte ich schon probiert und auf dein Anraten nochmal. Der Firefox-Quelltext zeigt mit oder ohne htmlspecialchars() das Zeichen ' an. Ist nun die Anzeige manipuliert?
Das müsste doch per urlencode zu %27 werden? Test:
echo "<a id='No".$lfd."' href='".str_replace("'","%27",$row['url'])."'> </a>";
Jetzt geht es.
Aber ich darf nur dieses eine Zeichen codieren, wenn ich auch http:// durch urlencode umsetzen lasse, funktioniert es nicht.
Linuchs