用php 的DOM对象的loadhtml 方法处理中文网页,得到的是乱码
时间:2008-04-19
来源:互联网
具体来说,我知道loadhtml 方法用的是utf-8编码形式,但无论是使用这个函数前用bm_convert_encoding处理,还是之后处理,输出的均是乱码,问题无法解决。
另外,若将浏览器的编码改成utf-8确能正确显示中文。这说明loadhtml 确实以utf-8处理中文内容,而我把处理后的内容用bm_convert_encoding($html,'utf-8','gb2312')处理,浏览器用gb2312显示却不成功,说明并没有转化成功,这是为什么?
作者: suprun 发布时间: 2008-04-19
作者: beeqee 发布时间: 2008-04-20
$myhtml=file("http://www.baidu.com");
$myhtml=join('',$myhtml);
$doc = new DOMDocument();
@$doc->loadHTML($myhtml);
$tags = $doc->getElementsByTagName('a');
foreach ($tags as $tag)
{
$html.='<a href='.$tag->getAttribute('href').'>'.$tag->childNodes->item(0)->nodeValue.'</a><br>';
}
echo $doc->encoding; //输出 gb2312 ,浏览器却显示乱码!(用gb2312编码的) 改成utf-8编码时显示正常。
?>
作者: suprun 发布时间: 2008-04-20
作者: suprun 发布时间: 2008-04-20
作者: meiZiNick 发布时间: 2008-05-01
作者: knowledge_Is_Life 发布时间: 2008-05-01
作者: gaoming13 发布时间: 2011-10-16
作者: gaoming13 发布时间: 2011-10-16
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28