php自定义函数实现JS的escape的方法示例
本文实例讲述了php自定义函数实现JS的escape的方法。分享给大家供大家参考,具体如下:
//phpfunction functionescape($string){ $n=$bn=$tn=0; $output=''; $special="-_.+@/*0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; while($n<strlen($string)){ $ascii=ord($string[$n]); if($ascii==9||$ascii==10||(32<=$ascii&&$ascii<=126)){ $tn=1;$n++; }elseif(194<=$ascii&&$ascii<=223){ $tn=2;$n+=2; }elseif(224<=$ascii&&$ascii<=239){ $tn=3;$n+=3; }elseif(240<=$ascii&&$ascii<=247){ $tn=4;$n+=4; }elseif(248<=$ascii&&$ascii<=251){ $tn=5;$n+=5; }elseif($ascii==252||$ascii==253){ $tn=6;$n+=6; }else{ $n++; } $singleStr=substr($string,$bn,$tn); $charVal=bin2hex(iconv('utf-8','ucs-2',$singleStr)); if(base_convert($charVal,16,10)>0xff){ if(!preg_match("/win/i",PHP_OS)) $charVal=substr($charVal,2,2).substr($charVal,0,2); $output.='%u'.$charVal; } else{ if(false!==strpos($special,$singleStr)) $output.=$singleStr; else $output.="%".dechex(ord($string[$bn])); } $bn=$n; } return$output; }
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP编码与转码操作技巧汇总》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。