I make my own : What u think about : begin ================================================
<? // Author : David Devidal [EMAIL PROTECTED] // Licence : GPL // // include one time this script at the beginnig of the script // file will do the mapping // // for the revers mapping think of using normurl2trans($url); /* print_r($HTTP_GET_VARS); print_r($HTTP_POST_VARS); echo "PHP_SELF $PHP_SELF <br>"; echo "REQUEST_URI $REQUEST_URI <br>"; echo "SCRIPT_NAME $SCRIPT_NAME <br>"; echo "PATH_INFO $PATH_INFO <br>"; echo "PATH_TRANSLATED $PATH_TRANSLATED <br>"; // Array ( ) Array ( ) PHP_SELF /path2vars/index.php/var1,val1/var2,val2/ // REQUEST_URI /path2vars/index.php/var1,val1/var2,val2/ // SCRIPT_NAME /path2vars/index.php // PATH_INFO /var1,val1/var2,val2/ // PATH_TRANSLATED c:\\easyphp\\www\\var1,val1\\var2,val2\\ exit(); */ //phpinfo(); // we will transform vars from 1 style to 2 style // 1) http://localhost/path2vars/index.php?&var1=val1&var2=val2 en // 2) http://localhost/path2vars/index.php/var1,val1/var2,val2/ // that will permit a better crawls with web crawlers // from type 1) to type 2) function normurl2trans($url) { // we cut the url in 2 part 1 to keep and the other to manipulate $urldecoup = split($GLOBALS[SCRIPT_NAME],$url); $urldecoup[1] = str_replace('?&','&',$urldecoup[1]); // for easily progs $urldecoup[1] = strtr($urldecoup[1], '&=', '/,'); // map particulars chars return $urldecoup[0].$GLOBALS[SCRIPT_NAME].$urldecoup[1].'/'; } // from type 2) to type 1) function trans2norm($url) { // we cut the url in 2 part 1 to keep and the other to manipulate $urldecoup = split($GLOBALS[SCRIPT_NAME],$url); $urldecoup[1] = strtr($urldecoup[1],'/,','&='); // map particulars chars $urldecoup[1] = $urldecoup[0].$GLOBALS[SCRIPT_NAME].'?'.$urldecoup[1].'/'; return str_replace('&/','',$urldecoup[1]); // for easily progs } // little test unit for fonctions //echo normurl2trans ("http://localhost/path2vars/index.php?&var1=val1&var2=val2"); //echo trans2norm("http://localhost/path2vars/index.php/var1,val1/var2,val2/"); /************* // the vars parser : // we make it here not in a fucntions for globals vars context // works at each case no vars 1 2 ... **************/ $urltemp = str_replace($SCRIPT_NAME.'/','',$PHP_SELF); // get string to explode // gives var1,val1/var2,val2/ // we had to cut into with / $urldecoup = split('/',$urltemp); // gives Array ( [0] => var1,val1 [1] => var2,val2 [2] => ) $urltempsize = count($urldecoup)-1; // we dont treat the last elemnts that is empty for ($urltempi=0;$urltempi<$urltempsize;$urltempi++) { $nameval = split(',',$urldecoup[$urltempi]); // cut 2 elts var1,val1 ${$nameval[0]} = $nameval[1]; // affect $var1 with value val1 //$var1="val1"; } // end parse /* // little test unit echo "$var1<br>"; echo "$var2<br>"; */ /** <html> here is a little query string parser to get work web crawlers url test :<br> <? require_once('query_string_parser.php'); $thelink = normurl2trans ("http://localhost/path2vars/index.php?&var1=val1&var2=val2"); echo "<a href='$thelink'>lien ni1</a><br>"; echo $var1.'<br>'; echo $var2.'<br>'; ? <html> **/ ?> =================================end cut Thanks -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php