PHP在搜索分页时,想将搜索的汉字也带在url里面,请问如何编码和解码,使得在url看不到汉字,同时达到搜索的目的。
回复内容:
PHP在搜索分页时,想将搜索的汉字也带在url里面,请问如何编码和解码,使得在url看不到汉字,同时达到搜索的目的。
你可以多次urlencode编码,那就看不到了
使用urlencode函数处理汉字
放在cookie里面…
在网上找到一个解决方案:
<?php
function myEncode($str){
<code>$arrReturn=array();for($i=0;$i<strlen($str);++$i){ $a=dechex(ord($st<b style="color:transparent">来&源gao@dai!ma.com搞$代^码%网</b><img>搞gaodaima代码</img>r{$i})); //ord() 函数返回字符串的首个字符的 ASCII 值。dechex() 函数把十进制转换为十六进制。 for($j=0;$j='a'){//是字母 $arrReturn[]=chr(ord($char)+10); }else{ //是数字 //0->a,1->b,2->c ,3->d //即chr(ord($char)-ord('0')+ord('a')); //=chr(ord($char)-48+97) //=chr(ord($char+49) $arrReturn[]=chr(ord($char)+49); } }}return implode('',$arrReturn);</code>
}
echo myEncode(‘苹果’).’
‘;//oiilljogjojm
function myDecode($str){
<code>$chinese=array();for($i=0;$i<strlen($str);$i+=2){ $arr=array(); for($j=0;$j=107 ? chr(ord($char)-10):chr(ord($char)-49); } $chinese[]= chr(hexdec($arr[0].$arr[1]));}return implode('',$chinese);</code>
}
echo myDecode(‘oelnkaofkfln’);//苹果
?>