看起来这不能用于编号实体,只能用于命名实体。
$nbspace = $dom->createEntityReference('nbsp');
有效
$nbspace = $dom->createEntityReference('#160');
无效。这使得此函数在生成 XSL 时相当无用,除非您修改 XSL 文档类型以包含您想要字符的命名实体。
(PHP 5, PHP 7, PHP 8)
DOMDocument::createEntityReference — 创建新的实体引用节点
此函数创建类 DOMEntityReference 的新实例。除非使用(例如)DOMNode::appendChild() 插入,否则此节点不会出现在文档中。
name
实体引用的内容,例如,实体引用减去开头的 &
和结尾的 ;
字符。
新的 DOMEntityReference 或如果发生错误则为 false
。
看起来这不能用于编号实体,只能用于命名实体。
$nbspace = $dom->createEntityReference('nbsp');
有效
$nbspace = $dom->createEntityReference('#160');
无效。这使得此函数在生成 XSL 时相当无用,除非您修改 XSL 文档类型以包含您想要字符的命名实体。
<?php
/*实体是一组单词,用于打印特殊符号。
例如,如果我们想在 html 页面中显示版权符号,则使用 © 代码,浏览器将其转换为实际的版权符号。
有许多实体,您可以在 http://dev.w3.org/html5/html-author/charref 上找到所有实体
如果要将 < 或 > 或 <> 同时用在节点值中,则 xml 会给出警告或将其值设为节点。
因此,告诉 xml 解析器 < 或 > 不是标签符号,而是实体。为此,您必须编写 <(<) 和 >(>),而不是 < 和 > 符号。
实体引用总是以一个与号 (&) 开始,以分号 (;) 结束。
使用 DOMDocument::createEntityReference 时,无需在实体的开头和结尾使用 & 和 ; 符号。将其删除。
然后将其附加到您要显示此符号的标签。如下所示
*/
$dom=new DOMDocument("1.0","UTF-8");
$example=$dom->createElement("example","This is copyright ");
$entity=$dom->createEntityReference("copy");
$example->appendChild($entity);
$dom->appendChild($example);
echo $dom->saveXML();
输出为
This is copyright ©