Mailinglisten-Archive |
Hi,
leider unterstützt PHP nur das &-Zeichen als Delimiter, um mehrere
Parameter über die URL an ein Skript zu übergeben.
Beispiel: http://foo/bar.php?variable1=wert1&variable2=wert2
Will man eine solche Seite dann mit dem W3C Validator
(http://validator.w3.org/) checken, so bekommt man eine Fehlermeldung,
daß in diesem Fall "&variable2" keine HTML Entity ist.
Mit dem folgenden Code-Fragment ist es möglich, gemäß den W3
Konventionen mit ";" als Delimiter, Parameter an ein PHP-Skript zu
übergeben:
<?php
$name_of_first_var = "show";
$args = split( '[;=]', $$name_of_first_var );
$$name_of_first_var = $args[0];
$i = 1;
while( $i < count( $args ) )
{
$$args[$i] = $args[$i+1];
$i+=2;
}
?>
Das einzige unkomfortable an dieser Lösung ist, daß man den Namen der
ersten Variablen, in diesem Fall "show", vorgeben muß.
Beispiel: http://foo/bar.php?show=test;test=show
Funktioniert wunderbar, in $show steht "test" und in $test steht "show".
Schöner wäre es natürlich, wenn PHP sowas native unterstützen würde :)
--
Homepage : http://gravedancer.rc5.de \ eMail: sebastian.bergmann_(at)_web.de
PHP-Stand auf Europas größter Linux-Messe: 'Linux-Tag' !
weitere Infos _(at)_ http://www.dynamic-webpages.de/
php::bar PHP Wiki - Listenarchive