首页 > php搜索分页的问题

php搜索分页的问题

PHP在搜索分页时,想将搜索的汉字也带在url里面,请问如何编码和解码,使得在url看不到汉字,同时达到搜索的目的。


使用urlencode函数处理汉字


在网上找到一个解决方案:
<?php
function myEncode($str){

$arrReturn=array();
for($i=0;$i<strlen($str);++$i){
    $a=dechex(ord($str{$i})); //ord() 函数返回字符串的首个字符的 ASCII 值。dechex() 函数把十进制转换为十六进制。
    for($j=0;$j<strlen($a);++$j){
        $char=$a{$j};
        if($char>='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);

}
echo myEncode('苹果').'<br/>';//oiilljogjojm

function myDecode($str){

$chinese=array();
for($i=0;$i<strlen($str);$i+=2){
    $arr=array();
    for($j=0;$j<2;$j++){
        $char=$str{$i+$j};
        //107=ord('a')+10
        $arr[]= ord($char)>=107 ? chr(ord($char)-10):chr(ord($char)-49);
    }
    $chinese[]= chr(hexdec($arr[0].$arr[1]));
}
return implode('',$chinese);

}
echo myDecode('oelnkaofkfln');//苹果
?>


放在cookie里面...


你可以多次urlencode编码,那就看不到了

【热门文章】
【热门文章】