DOMDocument 中的 nodeValue 在 PHP 中返回奇怪的字符
所以我试图解析 HTML 页面并使用 get_elements_by_tag_name('p');
查找段落 (
)
问题是当我使用 $element->nodeValue
,它返回奇怪的字符。首先使用curl 将文档加载到$html
中,然后将其加载到DOMDocument 中。
我确信这与字符集有关。
以下是响应的示例:“aujourdàhui”。
提前致谢。
So I'm trying to parse HTML pages and looking for paragraphs (<p>
) using get_elements_by_tag_name('p');
The problem is that when I use $element->nodeValue
, it's returning weird characters. The document is loaded first into $html
using curl then loading it into a DOMDocument.
I'm sure it has to do with charsets.
Here's an example of a response: "aujourd’hui".
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我遇到了同样的问题,现在注意到 loadHTML() 不再需要 2 个参数,所以我必须找到不同的解决方案。使用 DOM 库中的以下函数,我能够从 HTML 内容中删除时髦的字符。
I had the same issues and now noticed that loadHTML() no longer takes 2 parameters, so I had to find a different solution. Using the following function in my DOM library, I was able to remove the funky characters from my HTML content.
显然,上述方法对我来说都不起作用,最后我找到了以下内容:
来源和更多信息
Apparently for me none of the above worked, finally I've found the following:
Source and more info
我通过强制转换为 UTF-8 解决了这个问题,即使原始文本是 UTF-8:
PHP 很奇怪:)
I fixed this by forcing conversion to UTF-8 even though the original text was UTF-8:
PHP is wierd :)
这是一个编码问题。尝试将编码显式设置为 UTF-8。
这应该有帮助: http://devzone.zend.com/article/8855
This is an encoding issue. try explicitly setting the encoding to UTF-8.
this should help: http://devzone.zend.com/article/8855