phpbar.de logo

Mailinglisten-Archive

[php] explode

[php] explode

Tobias Ratschiller tobias_(at)_dnet.it
Wed, 28 Jul 1999 21:36:15 +0200


> target sieht etwa so aus "info+info2"
> ich möchte doch nur den ersten wert vor dem plus, aber die funktion
geht
> nich :(
> $selects[1] hat dann beide werte ohne plus, versteh ich jetzt nich
:(
> gibts auch andere möglichkeiten ?

Wahrscheinlich hast Du so eine URL
http://www.dein.server.com/script.php3?target=info+info2
Statt "+" solltest Du hier "%2B" schreiben.

Hintergrund: Per POST oder GET an ein Script übergebene Daten müssen
kodiert werden ("URL-kodiert"), um bestimmte Zeichen unschädlich zu
machen (einfachstes Beispiel: Stell Dir vor, Du willst "Ogilvy&Mather"
als Wert für Target übergeben - wie soll PHP jetzt wissen, daß es sich
beim "&" um einen Teil Deines Strings handelt und nicht um einen
Trenner zwischen zwei Variablen? - richtig; das "&" muss "escaped"
werden). Das "+" bedeutet in der URL-enkodierten Schreibweise einfach
ein Leerzeichen, deshalb sieht PHP hier "info1 info2".
Wenn Du target aus einem PHP-Script heraus übergibst, kannst Du die
PHP-Funktion urlencode() verwenden:
echo "script.php3?target=".urlencode("info1+info2");

Mit freundlichen Grüßen,
  Tobias Ratschiller



php::bar PHP Wiki   -   Listenarchive