首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么PHP DOMDocument loadHTML不适用于波斯字符?

为什么PHP DOMDocument loadHTML不适用于波斯字符?
EN

Stack Overflow用户
提问于 2016-09-06 01:57:01
回答 1查看 410关注 0票数 3

这是我的密码

代码语言:javascript
复制
<?php

$data = <<<DATA
<div>
    <p>سلام</p>                                         // focus on this line
    <p class="myclass">Remove this one</p>
    <p>But keep this</p>
    <div style="color: red">and this</div>
    <div style="color: red">and <p>also</p> this</div>
    <div style="color: red">and this <div style="color: red">too</div></div>
</div>
DATA;

$dom = new DOMDocument();
$dom->loadHTML(mb_convert_encoding($data, 'HTML-ENTITIES', 'UTF-8'), LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$xpath = new DOMXPath($dom);

foreach ($xpath->query("//*[@*]") as $node) {
    $parent = $node->parentNode;
    while ($node->hasChildNodes()) {
        $parent->insertBefore($node->lastChild, $node->nextSibling);
    }
    $parent->removeChild($node);
}

echo $dom->saveHTML();

正如我在问题标题中提到的,我的网站内容是波斯语(不是英语)。但是密码对波斯人不起作用。

电流输出:

代码语言:javascript
复制
.
.
    <p>&#1587;&#1604;&#1575;&#1605;</p>
.
.

预期输出:

代码语言:javascript
复制
.
.
    <p>سلام</p>
.
.

它有什么问题,我怎么能修好它?

注意:正如您所看到的,也使用了mb_convert_encoding($data, 'HTML-ENTITIES', 'UTF-8')来使其正确(基于https://stackoverflow.com/questions/8218230/php-domdocument-loadhtml-not-encoding-utf-8-correctly#8218649),但仍然不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-06 02:19:15

波斯字符被编码为数字字符引用。它们将在浏览器中适当地出现,或者您可以通过使用html_entity_decode()解码它们来查看原始文件,例如:

代码语言:javascript
复制
echo html_entity_decode("&#1587;&#1604;&#1575;&#1605;");

产出:

代码语言:javascript
复制
سلام

如果您喜欢输出中的原始字符而不是数字字符引用,则可以更改:

代码语言:javascript
复制
echo $dom->saveHTML();

至:

代码语言:javascript
复制
echo $dom->saveHTML($dom->documentElement);

这稍微改变了序列化,结果是:

代码语言:javascript
复制
<div>
    <p>سلام</p>
    Remove this one
    <p>But keep this</p>
    and this
    and <p>also</p> this
    and this too
</div>

举例说明。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39339582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档