【发布时间】:2026-01-19 05:15:02
【问题描述】:
一个相关的问题是Preventing DOMDocument::loadHTML() from converting entities,但它没有产生解决方案。
这段代码:
$html = "<span>🆃🅴🆂🆃</span>";
$doc = new DOMDocument;
$doc->resolveExternals = false;
$doc->substituteEntities = false;
$doc->loadhtml($html);
foreach ($doc->getElementsByTagName('span') as $node)
{
var_dump($node->nodeValue);
var_dump(htmlentities($node->nodeValue));
var_dump(htmlentities(iconv('UTF-8', 'ISO-8859-1', $node->nodeValue)));
}
生成此 HTML:
string(16) "????????????????"
string(16) "????????????????"
string(0) ""
但我想要的是&#x1F183;&#x1F174;&#x1F182;&#x1F183;
我正在运行 PHP 版本 5.6.29,ini_get("default_charset") 返回 UTF-8
【问题讨论】:
标签: php xml domdocument html-entities php-5.6