php搜索分页的问题
天蓬老师
天蓬老师 2017-04-10 16:35:13
0
4
808

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

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

reply all(4)
PHPzhong

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

巴扎黑

使用urlencode函数处理汉字

PHPzhong

在网上找到一个解决方案:
<?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里面...

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template