Seite 1 von 1

PHP decode/encode Problem

Verfasst: Mi 7. Feb 2007, 18:34
von MyAccount
Hallo zusammen,

ich seh' mal wieder den Wald vor lauter Bäumen nicht und brauche einen kräftigen Schups in die richtige Richtung.

PHP4:

Code: Alles auswählen

$strURL = $HTTP_SERVER_VARS[SERVER_NAME];
$arrURL = parse_url($strURL);
$strURL = $arrURL['path'];
$strURL = urlencode($strURL);

echo "<meta http-equiv=\"refresh\" content=\"3; URL=http://www.domain.tld/domain/&url=".$strURL."\"/>\n";
Was damit allerdings erzeuge, ist http://www.domain.tld/domain/&url=www.domain2.tld und die Punkte aus $strURL kann ich da nicht gebrauchen. ;)

Verfasst: Mi 7. Feb 2007, 22:57
von _Marc
Hallo,

ein Blick ins offizielle PHP-Handbuch offenbart zum Stichwort "urlencode":
Gibt einen String zurück, in dem alle nicht alphanumerischen Zeichen bis auf -_. durch das Prozentzeichen (%) gefolgt von zwei Hexzeichen sowie Leerzeichen durch ein Pluszeichen (+) ersetzt werden.
Entsprechend bräuchtest Du etwas anderes um die Punkte wegzukriegen,
z.B.

Code: Alles auswählen

$strURL = preg_replace (".", "PUNKT", $strURL);
Musst Du natürlich wieder ersetzen, wenn Du die Punkte wieder brauchst.

Grüße
Marc

Verfasst: Do 8. Feb 2007, 00:51
von MyAccount
Hi,
danke, ich hab's dann auch eingesehen. Das Handbuch hatte ich zwar gelesen, aber das der Punkt nicht verschwindet...Erst lesen, dann coden. Ist aber nicht das erste Mal, dass mir das passiert. ;)

Übrigens ist es besser str_replace zu nehmen. Ist eine unkomplizierte Ersetzung und ich arbeite damit auch nicht in einem Array (Bug PHP<4.4.3!)

Code: Alles auswählen

$strURL=str_replace(".","_",$strURL);
Viele Grüße

myAccount