DOMDocument 类中的 utf-8 编码
我正在使用 PHP 的 DOMDocument 类打开 HTML 文件,进行一些更改,然后保存它。问题是加载的每个页面中的 javascript 都包含 utf 8 个字符,当我保存 HTML 文件时,这些字符被“更改”。这是我的代码。
$doc=new DOMDocument();
$doc->loadHTMLFile($path);
$doc->encoding='UTF-8';
$doc->saveHTMLFile($path);
再次保存文件,但特殊字符被扭曲。例如,如果我的 javascript 将图像路径设置为 french/Comment ça s'écrit/
,则变为 french/Comment ça s’& ;eacute;crit 
.奇怪的是,这只发生在我的 javascript 路径上,html 元素不会改变并且编码正确。
I am using PHP's DOMDocument class to open an HTML file, make some changes, and save it. The problem is that the javascript in every page that is loaded, contains utf 8 characters, and when I save the HTML file, these characters are "changed". Here's my code.
$doc=new DOMDocument();
$doc->loadHTMLFile($path);
$doc->encoding='UTF-8';
$doc->saveHTMLFile($path);
The file is saved again but the special characters gets distorted. e.g if my javascript had an image path set to french/Comment ça s’écrit/
, this becomes french/Comment ça s’écrit
. The wierd thing is that this only happens to my javascript paths, the html elements dont get changed and are in the correct encoding.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试将 JavaScript 放在 CDATA 标记之间,如下所示
try placing your javascript between CDATA tags as shown below