从API得到一个XML,里面有汉字什么的,还有“\uE40A”和“\uE40B”这样的标识符,请问用PHP如何在文本中找到这些标识符?下面是一个例子:关键字“掉渣饼”两侧就是这两个标识符,但是PHP似乎很难处理这个问题<title>掉渣饼 - docin.com豆丁网</title>

解决方案 »

  1.   

    UTF-8字符,这些字符超出了字体库的范围。
      

  2.   


    我的程序是UTF-8的,XML的字符是GBK的,我读取下来之后不需要转换就可以正常显示,但是不知道如何从字符串中找到这2种标识符,这个是用来给文字标红的,一个开头一个结尾。请问有什么好的办法吗?在C#和JAVA中似乎好解决,但是PHP似乎没什么好办法,期待高人出现!
      

  3.   

    unicode的e000-f8ff码段属于“用户私有”就是说unicode组织并不在该码段定义任何字符,预留给用户自行使用
    所以你所说的这些字符是api自定义的,看来是边界符,请参考你的api说明文档
      

  4.   


    感谢回复!API原文如下:“标红通过两个特殊字符来标识:Unicode \uE40A(GBK编码为0xFDA1)表示标红开始;Unicode \uE40B(GBK编码为0xFDA2)表示标红结束。”请问有什么好的办法吗?
      

  5.   

    正则,/[\uE000-\uF8FF]/u,逐个找出来替换为你需要的