PHP实现Javascript的escape()函数用法示例
内容摘要
这篇文章主要为大家详细介绍了PHP实现Javascript的escape()函数用法示例,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!这里,一般都需要预
对此感兴趣的朋友,看看idc笔记做的技术笔记!这里,一般都需要预
文章正文
这篇文章主要为大家详细介绍了PHP实现Javascript的escape()函数用法示例,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
这里,一般都需要预先将正常的字符串编码成 JavaScript unescape() 函数能够解译的格式,以 PHP 为例,可以使用以下函数实现 Javascript 中 escape() 函数相同的功能:代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <code> <?php function escapeToHex( $string , $encoding = UTF-8) { $return = ; for ( $x = 0; $x < mb_strlen( $string , $encoding ); $x ++) { $str = mb_substr( $string , $x , 1, $encoding ); if ( strlen ( $str ) > 1) { // 多字节字符 $return .= %u . strtoupper (bin2hex(mb_convert_encoding( $str , UCS-2, $encoding ))); } else { $return .= % . strtoupper (bin2hex( $str )); } } return $return ; } ?> </code> |
代码如下:
1 2 3 4 5 6 7 | <code> <?php // 请自行包含 escapeToHex() 函数定义 $test = document.write(\<a href= "http://www.dirk.sh/assets/uploaded/thisistest.pdf" >test</a>\); echo <script Language= "Javascript" >eval_r(unescape( " . escapeToHex($test) . " ))</script>; ?> </code> |
代码如下:
1 2 3 4 5 6 | <code> <script Language= "Javascript" >eval_r(unescape("%64%6F%63%75%6D%65%6E%74%2E%77 \ %72%69%74%65%28%27%3C%61%20%68%72%65%66%3D%22%68%74%74%70%3A%2F%2F%77%77%77 \ %2E%64%69%72%6B%79%65%2E%6E%65%74%2F%75%70%6C%6F%61%64%65%64%2F%74%68%69%73 \ %69%73%74%65%73%74%2E%70%64%66%22%3E%74%65%73%74%3C%2F%61%3E%27%29"))</script> </code> |
注:关于PHP实现Javascript的escape()函数用法示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释