比如有以下文本:
{'desc': u'<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ActiveX \u662f OLE \u63a7\u4ef6\u89c4\u8303\u7684\u6700\u65b0\u7248\u672c\u3002\u63a7\u4ef6\u662f\u5f00\u53d1\u53ef\u7f16\u7a0b\u8f6f\u4ef6\u7ec4\u4ef6\u7684\u57fa\u672c\u7ed3\u6784\uff0c\u8fd9\u4e9b\u7ec4\u4ef6\u53ef\u7528\u4e8e\u591a\u79cd\u5bb9\u5668\uff0c\u5305\u62ec Internet \u4e0a\u53ef\u8bc6\u522bCOM \u7684 Web \u6d4f\u89c8\u5668\u3002\u4efb\u4f55 ActiveX \u63a7\u4ef6\u90fd\u53ef\u4ee5\u662f\u4e00\u4e2a Internet \u63a7\u4ef6\uff0c\u5e76\u4e14\u53ef\u4ee5\u5411\u6d3b\u52a8\u6587\u6863\u6dfb\u52a0\u5176\u529f\u80fd\u6216\u6210\u4e3a Web \u9875\u7684\u4e00\u90e8\u5206\u3002Web \u9875\u4e0a\u7684\u63a7\u4ef6\u53ef\u4ee5\u901a\u8fc7\u811a\u672c\u5f7c\u6b64\u901a\u4fe1\u3002</P>\r\n<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u628auEasyFile Client\u7aef\u7684\u5e93\u6587\u4ef6\u6240\u63d0\u4f9b\u7684API\uff0c\u5c01\u88c5\u6210Active\u63a7\u4ef6\u5f62\u5f0f\uff0c\u5728\u7f51\u9875\u4e0a\u8c03\u7528\u6b64\u63a7\u4ef6\u63d0\u4f9b\u7684\u63a5\u53e3\uff0c\u5c31\u53ef\u4ee5\u50cfVC\u7f16\u5199\u7684\u5bf9\u8bdd\u6846\u7a0b\u5e8f\u4e00\u6837\u65b9\u4fbf\u7684\u8fdb\u884cuEasyFile Client\u7aef\u7684\u64cd\u4f5c\u3002\u518d\u8fdb\u4e00\u6b65\uff0c\u751a\u81f3\u53ef\u4ee5\u628a\u63a7\u4ef6\u6253\u5305\u6210\u4f53\u79ef\u66f4\u5c0f\u7684cab\u5305\uff0c\u628acab\u5305\u653e\u5728\u7f51\u9875\u670d\u52a1\u5668\u4e0a\uff0c\u53ea\u8981\u8fdc\u7a0b\u8bbf\u95ee\u7f51\u9875\uff0c\u5c31\u53ef\u4ee5\u901a\u8fc7 Internet \u4e0b\u8f7dcab\u5305\uff0c\u81ea\u52a8\u6ce8\u518c\u63a7\u4ef6\u3002\u53ea\u8981\u53ef\u4ee5\u8054\u7f51\uff0c\u5c31\u53ef\u4ee5\u968f\u5fc3\u6240\u6b32\u7684\u5728\u65b0\u7684PC\u673a\u4e0a\u5f88\u65b9\u4fbf\u7684\u5efa\u7acb\u8d77uEasyFile Client\u7aef\u3002</P>\r\n<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u63a5\u4e0b\u6765\u6211\u4eec\u4e3b\u8981\u4ecb\u7ecd\u4e0bActive\u63a7\u4ef6\u63a5\u53e3\u8bbe\u8ba1\u548ccab\u5305\u7684\u5236\u4f5c\u3002</P>\r\n<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.Active\u63a7\u4ef6\u63a5\u53e3\u8bbe\u8ba1\uff1a\u4e3a\u4e86\u4fdd\u6301\u63a5\u53e3\u4e0a\u7684\u4e00\u81f4\u6027\uff0c\u63a7\u4ef6\u63a5\u53e3\u8bbe\u8ba1\u7684\u4e00\u4e2a\u57fa\u672c\u601d\u8def\u5c31\u662f\u5c3d\u91cf\u4e0e\u4e4b\u524d\u6240\u63d0\u4f9b\u7684\u5e93\u4e00\u81f4\u3002\u5e93\u4e2d\u6240\u63d0\u4f9b\u7684API\u51fd\u6570\uff0cOCX\u63a7\u4ef6\u4e2d\u5168\u90e8\u4fdd\u7559\u4e86\u4e0b\u6765\uff0c\u5e76\u5b9e\u73b0\u4e86\u76f8\u540c\u7684\u529f\u80fd\u3002\u751a\u81f3\u8fde\u540d\u5b57\u76f8\u4f3c\u5230OCX\u51fd\u6570\u53ea\u662f\u5728\u539f\u5148\u6bcf\u4e00\u4e2a\u51fd\u6570\u540d\u540e\u52a0\u4e86\u4e00\u4e2aOCX\u540e\u7f00\u3002\u7528\u6237\u5728\u4f7f\u7528\u811a\u672c\u8bed\u8a00\u8fdb\u884c\u7f16\u7a0b\u65f6\uff0c\u65e0\u9700\u9605\u8bfb\u65b0\u7684\u6587\u6863\uff0c\u57fa\u672c\u4e0a\u90fd\u53ef\u4ee5"\u671b\u6587\u751f\u4e49"\u7684\u8c03\u7528OCX\u51fd\u6570\u3002</P>\r\n<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OCX\u63a7\u4ef6\u5728\u6b64\u5904\u76f8\u5f53\u4e8e\u53ea\u662f\u628a\u539f\u5148\u7684\u51fd\u6570\u8fdb\u884c\u4e86\u5305\u88c5\uff0c\u4f46\u5b83\u4eec\u4e4b\u95f4\u6bd5\u7adf\u5b58\u5728\u8fd9\u5dee\u5f02\u3002</P>\r\n<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.\u6307\u9488\u4ee5\u53ca\u4f20\u5165\u53c2\u6570\u7684\u5904\u7406\uff1a\u7531\u4e8e\u63a7\u4ef6\u53ea\u80fd\u901a\u8fc7\u8fd4\u56de\u503c\u4e0e\u811a\u672c\u8bed\u8a00\u8fdb\u884c\u4ea4\u4e92\uff0c\u4e14\u5728\u811a\u672c\u8bed\u8a00\u4e2d\u6ca1\u6709\u6307\u9488\u7684\u6982\u5ff5\uff0c\u6240\u4ee5\u5728\u9047\u89c1\u6307\u9488\u65f6\uff0c\u4e0d\u53ef\u80fd\u901a\u8fc7\u811a\u672c\u7ed9OCX\u51fd\u6570\u4f20\u9012\u6307\u9488\u3002\u800c\u5927\u90e8\u5206\u6307\u9488\u53c8\u662f\u539f\u5148API\u51fd\u6570\u7684\u4f20\u5165\u53c2\u6570\uff0c\u9700\u8981\u5f97\u5230\u4ed6\u4eec\u7684\u503c\uff0c\u4e0d\u80fd\u4e22\u5f03\u3002\u8fd9\u91cc\u6211\u4eec\u6709\u4e24\u79cd\u5904\u7406\u65b9\u6cd5\u3002\u7b2c\u4e00\u79cd\uff0c\u628a\u6307\u9488\u53d8\u91cf\u8bbe\u6210\u975e\u6307\u9488\u5f62\u5f0f\uff0c\u5373OCX\u51fd\u6570\u7684\u4f20\u5165\u53c2\u6570\u5168\u90e8\u4e3a\u975e\u6307\u9488\u53d8\u91cf\u3002\u5982\u540c\uff1a</P>\r\n<P>long COcx850Ctrl::RequestReceiveFileExOCX(long Filehandle, LPCTSTR filename_850, LPCTSTR filepath, long pPercent, long CancelFlag, long CopyFlag) <BR>{<BR>&nbsp;// TODO: Add your dispatch handler code here<BR>&nbsp;&nbsp;&nbsp; int *pp=(int*)&amp;pPercent;<BR>&nbsp;&nbsp;&nbsp; int *pc=(int*)&amp;CancelFlag;<BR>&nbsp;return RequestReceiveFileEx(Filehandle,filename_850,filepath, pp,NULL,pc,CopyFlag);<BR>&nbsp;//return *pp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //<BR></P>\r\n<P><BR></P>'}现在要把\u****的内容转为UTF-8字符,问正则表达式要怎样匹配

解决方案 »

  1. 是呀主要是\u在PHP中匹配中好像不能使用
      

  2. 使用
     function unescape($str) {
    $str = rawurldecode($str);
    preg_match_all("/u[0-9a-z]{4}/",$str,$r);
    $ar = $r[0];
     foreach($ar as $k=>$v) {  
     if(substr($v,0,1) == "u" && strlen($v) == 5) {
    $ar[$k] = iconv("UCS-2","UTF-8",pack("H4",substr($v,-4)));
     }
     }
     return join("",$ar);
     }
    是可以转变,但是里面有的是 \u*** 有的不是,怎样保留不是的文字?
      

  3. preg_match_all("/(\\\u[\d\w]{4})+/i", $str, $matches);
    var_dump($matches);
      

  4. 谢谢,如果是不匹配的字符是不是("^(\\\u[\d\w]{4})+/i")")
      

  5. preg_replace("/\\\u([a-z0-9]{4})/Usie","iconv('UCS-2','UTF-8',pack('H4','\\1'))",$str);
      

类似问题 »