码迷,mamicode.com
首页 > Web开发 > 详细

php还原16进制特殊字符

时间:2018-07-28 17:22:56      阅读:304      评论:0      收藏:0      [点我收藏+]

标签:hex   特殊字符   ima   class   图片   char   string   span   ace   

特殊字符的16进制表:https://websitebuilders.com/tools/html-codes/ascii/

技术分享图片

技术分享图片

 

可以通过 hexdec() chr()方法来进行转换,

例子:

<?xml version=\x221.0\x22 encoding=\x22utf-8\x22?>\x0A<order id=\x22test\x22 affiliate=\x22main\x22 event_id=\x221\x22 ref=\x22TPCYA\x22 alias=\x22\x22/>
 

其中 \x22 就是双引号 ",而 \x0A 就是换号 \n,通过一些方法转换后:

    $str = "<?xml version=\x221.0\x22 encoding=\x22utf-8\x22?>\x0A<order id=\x22test\x22 affiliate=\x22main\x22 event_id=\x221\x22 ref=\x22TPCYA\x22 alias=\x22\x22/>";

    function hexdec_string($content) {
        preg_replace_callback(
            "(\\\\x([0-9a-f]{2}))i",
            function($matches) {return chr(hexdec($matches[1]));},
            // $string
            $content
        );  

        return $content;
    }

    echo htmlspecialchars(hexdec_string($str), ENT_QUOTES); //将 xml的内容作为纯文本输出

 

结果:

<?xml version="1.0" encoding="utf-8"?> <order id="test" affiliate="main" event_id="1" ref="TPCYA" alias=""/>

 

参考:https://stackoverflow.com/questions/12238657/decoding-javascript-escape-sequences-in-php-x27-x22-etc
           http://php.net/manual/en/function.preg-replace-callback.php

php还原16进制特殊字符

标签:hex   特殊字符   ima   class   图片   char   string   span   ace   

原文地址:https://www.cnblogs.com/tommy-huang/p/9382551.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!