Hallo,
ich habe ein kleines Problem: Ich habe eine Adressdatenbank mit Firmendaten und möchte nun einen Detaildatensatz über einen Link aufrufen dem ich den Firmennamen in der URL übergebe:
test.php?firma=Testfirma
soweit kein Problem. Mache Firmen heissen aber z.B. „Müller GmbH & Co KG“, d.h.
test.php?firma=Müller GmbH & Co KG
Nun stört bei dieser Übergabe das & ! Wenn ich einen str_replace auf „& amp ;“ mache, dann klappt es trotzdem nicht, weil er das Zeichen gleich für die Übergabe umwandelt.
Ich kann auch nicht über eine ID oder so suchen, sondern muss den Firmennamen nehmen…
Weiss jemand Rat?
Moin,
was hältst Du davon anstelle von str_replace „&“ auf z.B. „und“ zu verändern und dann im test.php das wieder zurück frühstückst - dabei fällt dann der „&“-Character wech und das Problem schiene mir gelöst.
Gruß
Christian
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo
htmlentities(’&’) und htmlspecialchars(’&’) liefern beide &, richtig wäre aber %26 .
Am besten schreibst du $link=str_replace(’&’,’%26’,$link);
Hallo Marco,
… möchte nun einen Detaildatensatz über
einen Link aufrufen dem ich den Firmennamen in der URL
übergebe:
test.php?firma=Testfirma
soweit kein Problem. Mache Firmen heissen aber z.B. „Müller
GmbH & Co KG“, d.h.
test.php?firma=Müller GmbH & Co KG
Nun stört bei dieser Übergabe das & ! Wenn ich einen
str_replace auf „& amp ;“ mache, dann klappt es trotzdem
nicht, weil er das Zeichen gleich für die Übergabe umwandelt.
Am einfachsten ist es, die zu übergebenden Daten von php mittels
urlencode() oder rawurlencode() korrekt für die Verwendung in
der URL kodieren zu lassen.
http://de.php.net/manual/en/function.urlencode.php
http://de.php.net/manual/en/function.rawurlencode.php
Gruss
Thomas
Vielen Dank für die vielen Tipps. Der hier mit %26 tut prima. Danke…
Hallo
htmlentities(’&’) und htmlspecialchars(’&’) liefern beide
&, richtig wäre aber %26 .
Am besten schreibst du $link=str_replace(’&’,’%26’,$link);