我有一个DOMDocument
我要附加一些节点的。在一些文本内容中,有特殊字符如©,-,δ等...
我的目标是在 中插入这些字符时DOMDocument
,它们将分别转换为数字字符引用 (NCR) 或实体:
© - ©
– - –
δ - δ
我有一个DOMDocument
我要附加一些节点的。在一些文本内容中,有特殊字符如©,-,δ等...
我的目标是在 中插入这些字符时DOMDocument
,它们将分别转换为数字字符引用 (NCR) 或实体:
© - ©
– - –
δ - δ
将编码设置为不包含这些字符的字符集,例如us-ascii
.
例子:
$dom = new DOMDocument();
$dom->loadXML('<foo>©</foo>');
$dom->encoding = 'us-ascii';
print($dom->saveXML());
导致:
<?xml version="1.0" encoding="us-ascii"?>
<foo>©</foo>
要将实体更改为十六进制,您可以应用类似
preg_replace('/&#([0-9]+);/e', '\'&#x\'.strtoupper(dechex($1)).\';\'', $xml);
到 XML 输出。