XML 出现乱码浏览器解析出错怎么处理

sindel 2011-10-21 11:22:31
- <description>
- <![CDATA[ AT&amp;T在今天宣布自己的网络已经激活了100万部iPhone 4S的同时,AT&amp;T还公布了2011年第三季度的财政收入报告。就像苹果公布的结果一样,AT&amp;T在今年第三季度的iPhone激...
]]>
</description>


文本里面出现这种乱码咋办,XML解析出错,请问怎么过滤掉这种非法字符



...全文
335 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wskbuaa1984 2011-10-27
  • 打赏
  • 举报
回复
用tinyxml解析器。
coder 2011-10-27
  • 打赏
  • 举报
回复
&amp;不是乱码。是转译过的。具体查看你的数据源是否经过转移函数转译过
ZT_King 2011-10-21
  • 打赏
  • 举报
回复
找到一个更好的正则模式.
echo preg_replace('/[^ -~一-龥]/u', '', $str);

原贴
ZT_King 2011-10-21
  • 打赏
  • 举报
回复
应该说是标点符号需自己添加,目前我能想到的处理方法.
ZT_King 2011-10-21
  • 打赏
  • 举报
回复

$str = <<<str
AT&amp;T在今天宣布自己的网络已经激活了100万部iPhone 4S的同时,AT&amp;T还公布了2011年第三季度的财政收入报告。就像苹果公布的结果一样,AT&amp;T在今年第三季度的iPhone激...
str;
$str = htmlspecialchars_decode($str);
echo preg_replace('/[^\x{4e00}-\x{9fa5}\d\w,。\.& ]/u', '', $str);//中文字符自己根据源内容符号添加.
sindel 2011-10-21
  • 打赏
  • 举报
回复
是编辑们直接从WORD里面复制文章进去提交生成的,不是解码的问题
ohmygirl 2011-10-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sindel 的回复:]

AT&amp;amp

这个就是乱码,我想了很多办法过滤掉它结果还是不行..

$description = $v['introtext'];
$description = strip_tags($description);
$description = str_replace('&nbsp;', '', $description……
[/Quote]

乱码是由于字符被不正确解码造成的,不是过滤不过滤的问题。需要正确解码。。
怎么能通过过滤的方法过滤掉呢?
sindel 2011-10-21
  • 打赏
  • 举报
回复
AT&amp

这个就是乱码,我想了很多办法过滤掉它结果还是不行..

$description = $v['introtext'];
$description = strip_tags($description);
$description = str_replace(' ', '', $description);
$description = htmlspecialchars($description);
$description = iconv("UTF-8", "UTF-8//IGNORE", $description); //为了避免出现乱码

上面是我随便试的过滤办法
ohmygirl 2011-10-21
  • 打赏
  • 举报
回复
文件的编码格式?
sindel 2011-10-21
  • 打赏
  • 举报
回复
谢谢各位, 暂时 编辑下文章把乱码去掉了,上面的方法有空我再测试一下
以前也出现过乱码
iconv("UTF-8", "UTF-8//IGNORE", $description); 我用这个方法自动 去掉了

但是像今天出现的 又去不掉

是出现在
AT&amp;T在今年第三季度的iPhone激...

这句话里面
liuahuilele 2011-10-21
  • 打赏
  • 举报
回复
莫 急
xuzuning 2011-10-21
  • 打赏
  • 举报
回复
$s = 'AT&amp;T';
$s = html_entity_decode ($s);
echo $s = html_entity_decode ($s); //AT&T
ZT_King 2011-10-21
  • 打赏
  • 举报
回复


$str = <<<str
AT&amp;T在今天宣布自己~!@#¥%……&*()——+、?。,的网络已经激活了100万部iPhone 4S的同时,AT&amp;T还公布了2011年第三季度的财政收入报告。就像苹果公布的结果一样,AT&amp;T在今年第三季度的iPhone激...
str;
echo $str.'<br/>';
$str = htmlspecialchars_decode($str);
echo preg_replace('/[^ -~一-龥\x{2000}-\x{202f}\x{3001}-\x{300f},!]/u', '', $str);
echo '<br/>';
echo preg_replace('/[^[:punct:] \d\w\x{4e00}-\x{9fa5}\x{2000}-\x{202f}\x{3001}-\x{300f},!]/u', '', $str);//跟上面那个正则一样
xuzuning 2011-10-21
  • 打赏
  • 举报
回复
怎么是乱码呢?
AT&amp;T 就是 AT&T

AT&T公司是美国最大的固网电话服务供应商及第二大的移动电话服务供应商,此外还提供宽带及收费电视服务。合共1.5亿户提供服务,当中8510万户为无线用户

20,396

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧