Link validieren

son gohan

Erfahrenes Mitglied
Hallo,

ich habe in einer Datenbank Hyperlinks die ich mit einer for Schleife in eine HTML Schablone einsetzte.

Im Link selbst stecken Leerzeichen wie hier zu sehen:
PHP:
http://www.dd.de/p-_-Datenfeed-_-Basteln, Spielen %26 Sammeln]]


Ich habe versucht mit folgenden PHP Befehlen:
PHP:
href="'.htmlspecialchars(str_replace(" ", "%20", $row['link'])).'"

den Link so zu bearbeiten das die Leerzeichen ersetzt werden durch %20, aber es klapt nicht.

Nur wenn ich den PHP Befehl urlencode() einbaue werden die Links valide, dafür funktionieren Sie aber dann nicht mehr. Also kann ich das nicht anwenden.

Weis einer von euch wie man das löst?
 
son gohan hat gesagt.:
Nur wenn ich den PHP Befehl urlencode() einbaue werden die Links valide, dafür funktionieren Sie aber dann nicht mehr. Also kann ich das nicht anwenden.
Hallo,
was genau funktioniert denn dann nicht bzw. wie hast du den [phpf]urlencode[/phpf] angewendet?

mfg
forsterm
 
Hi,
also bei mir klappt es mit str_replace
PHP:
<?php
$link = "http://www.dd.de/p-_-Datenfeed-_-Basteln, Spielen %26 Sammeln";
$link = str_replace(" ", "%20", $link);
?>
Gruß,
Snowowl :)
 
Wenn ich urlencode() oder rawurlencode() benutze, dann werden noch andere Stellen im Link verändert, sodass der Link dann nicht mehr funktioniert.

Wenn ich str_replace verwende um die Leerzeichen auszufüllen funktioniert das nicht, nur wenn ich einen direkten String nehme wie im Beispiel von Snowowl funktioniert es, aber in meinem Script wo ich den Link aus der Datenbank hole als assoziatives Array funktioniert das str_replace irgendwie nicht.

Tja irgendwie dumme Lage zur Zeit.
 
Da str_replace nicht funktioniert hat denke ich das Reguläre Ausdrücke vielleicht helfen könnten, kann mir jemand ein Beispiel geben wie mann mit Regulären Ausdrücken Leerzeichen in einem String durch %20 ersetzt?
 
Zurück