> 백엔드 개발 > PHP 튜토리얼 > php怎么过滤特殊汉字? 或替换16进制。

php怎么过滤特殊汉字? 或替换16进制。

WBOY
풀어 주다: 2016-06-13 10:20:58
원래의
1058명이 탐색했습니다.

php如何过滤特殊汉字? 或替换16进制。。
在计算一个dom的过程中,由于body中有了一个不知道是什么汉字的汉子

结果导致如下代码出现如下错误

代码:

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$dq = new Zend_Dom_Query($body); $dq->query("*");
로그인 후 복사



原来的body是gb2312编码的,出现的错误是:

  [0]=>
  object(LibXMLError)#45 (6) {
  ["level"]=>
  int(3)
  ["code"]=>
  int(6003)
  ["column"]=>
  int(0)
  ["message"]=>
  string(70) "input conversion failed due to input error, bytes 0xCB 0x87 0xCA 0xFB
"
  ["file"]=>
  string(0) ""
  ["line"]=>
  int(0)
  }


错误中0xCB 0x87 0xCA 0xFB是 (藝墅) 两个字 , 我不知道这个帖子提交后这个汉字是否能正确显示 ,反正是百度搜索不了。。。

有没有办法替换掉这两个汉字

我str_replace了下 , 没成功

preg_replace好像也不行。。

PS 能在UltraEDIT中能看到。。。。。

就是如何在16进制下替换???


------解决方案--------------------
body 换成gbk?
------解决方案--------------------
转成编码形式
$str = '中华人民共和国';
$str = mb_convert_encoding($str, "html-entities","utf-8" );//结果:哪一队优先开球
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿