PHP';s dom->;createTextNode转义某些字符
我正在PHP中使用dom->createTextNode()。我看到它会自动转义字符,例如/“”等。根据PHP的手册,这是一种标准行为 它是否可能不转义任何字符PHP';s dom->;createTextNode转义某些字符,php,xml,dom,escaping,Php,Xml,Dom,Escaping,我正在PHP中使用dom->createTextNode()。我看到它会自动转义字符,例如/“”等。根据PHP的手册,这是一种标准行为 它是否可能不转义任何字符 谢谢。如果某些字符没有转义,最终可能无法获得有效的XML文件 如果您不想转义任何字符,可以使用,来获取XML文件,这会有所帮助 不过,请注意,您将在XML中获得这类内容(CDATA部分): <tag><![CDATA[<greeting>Hello, world!</greeting>]]>
谢谢。如果某些字符没有转义,最终可能无法获得有效的XML文件 如果您不想转义任何字符,可以使用,来获取XML文件,这会有所帮助 不过,请注意,您将在XML中获得这类内容(CDATA部分):
<tag><![CDATA[<greeting>Hello, world!</greeting>]]></tag>
你好,世界!]>
如果某些字符没有转义,最终可能无法获得有效的XML文件
如果您不想转义任何字符,可以使用,来获取XML文件,这会有所帮助
不过,请注意,您将在XML中获得这类内容(CDATA部分):
<tag><![CDATA[<greeting>Hello, world!</greeting>]]></tag>
你好,世界!]>
如果可以通过创建DomDocumentFragment节点并使用appendXML()方法附加原始文本来避免转义序列:
$rawXMLNode=$domDoc->createDocumentFragment();
$rawXMLNode->appendXML(“text2”);
$someNode->appendChild($rawXMLNode);
但是,我认为您不必在不重新加载文档的情况下访问这个原始文本的DOM。还有一些字符仍然不允许在中使用。我需要进行一些字符串处理,以便使用以下方法将一些php插入html文档:
$elem = $domHtml->getElementById('header');
$newElem = $domHtml->createDocumentFragment();
$newElem->appendXML('<div id="header"><?php include("templates/header.html"); QQQ?></div>');
$elem->parentNode->replaceChild($newElem, $elem);
$filedata = $domHtml->saveHTML();
$filedata = str_replace('QQQ', '?', $filedata);
$elem=$domHtml->getElementById('header');
$newElem=$domHtml->createDocumentFragment();
$newElem->appendXML(“”);
$elem->parentNode->replaceChild($newElem,$elem);
$filedata=$domHtml->saveHTML();
$filedata=str_replace('QQQ','?',$filedata);
如果可以通过创建DomDocumentFragment节点并使用appendXML()方法附加原始文本来避免转义序列:
$rawXMLNode=$domDoc->createDocumentFragment();
$rawXMLNode->appendXML(“text2”);
$someNode->appendChild($rawXMLNode);
但是,我认为您不必在不重新加载文档的情况下访问这个原始文本的DOM。还有一些字符仍然不允许在中使用。我需要进行一些字符串处理,以便使用以下方法将一些php插入html文档:
$elem = $domHtml->getElementById('header');
$newElem = $domHtml->createDocumentFragment();
$newElem->appendXML('<div id="header"><?php include("templates/header.html"); QQQ?></div>');
$elem->parentNode->replaceChild($newElem, $elem);
$filedata = $domHtml->saveHTML();
$filedata = str_replace('QQQ', '?', $filedata);
$elem=$domHtml->getElementById('header');
$newElem=$domHtml->createDocumentFragment();
$newElem->appendXML(“”);
$elem->parentNode->replaceChild($newElem,$elem);
$filedata=$domHtml->saveHTML();
$filedata=str_replace('QQQ','?',$filedata);
您可能做错了什么。这对我来说没有任何意义。粘贴一些代码。你可能做错了什么。这对我来说没有任何意义。粘贴一些代码。这仅在保存XML()时有效,使用saveHTML()时如何操作?这仅在保存XML()时有效,使用saveHTML()时如何操作?