PHP DOMDocument/LIBXML替换(";和';)

PHP DOMDocument/LIBXML替换(";和';),php,domdocument,libxml2,Php,Domdocument,Libxml2,我试图操纵WordPress插件中的一些源代码,但DOMDocument操纵一些不必要的字符串和字符。我只想在特定id上添加一些源代码 这就是源代码: $doc = new \DOMDocument(); $doc->xmlStandalone = false; $doc->encoding = 'UTF-8'; libxml_use_internal_errors( true ); $doc->loadHTML( $html, LIBXML_HTML_NOIMPLIED |

我试图操纵WordPress插件中的一些源代码,但DOMDocument操纵一些不必要的字符串和字符。我只想在特定id上添加一些源代码

这就是源代码:

$doc = new \DOMDocument();
$doc->xmlStandalone = false;
$doc->encoding = 'UTF-8';
libxml_use_internal_errors( true );
$doc->loadHTML( $html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD );
// Add some HTML Divs and CSS classes
$html = $doc->saveHTML();
原始源代码(WordPress):

WordPress–;发展–;
在DOMDocument例程之后:

<title>WordPress &ndash; Development &ndash; </title>
<link rel="dns-prefetch" href="//fonts.googleapis.com">
<link rel="dns-prefetch" href="//s.w.org">
<link href="https://fonts.gstatic.com" crossorigin rel="preconnect">
<link rel="stylesheet" id="dashicons-css" href="http://localhost/WordPress/wp-includes/css/dashicons.min.css?ver=4.9.6" type="text/css" media="all">
WordPress&ndash;发展&ndash;
我的主要问题是他用“,”替换了一些“,”删除“


希望任何人都能帮助我。:-

如果你的应用程序在
结尾没有
时出现故障,不幸的是,我没有使用XHTML方法来完成它,尽管它给了我新的见解

简言之,也许还有一个问题,还有什么其他的可能性?我想在已经加载的网站中加入一个小的PHP

我有一个WordPress插件,它应该根据一个特殊的CSS ID从文本区域输出文本


Javascript不是一个解决方案(但用于回退)。

这些更改会破坏任何东西吗?看来HTML应该可以很好地工作。是的,这就是问题所在……不同的主题会导致错误,有时无法正确运行JS或解释内联代码错误原因(“/”)。奇怪的是,输出与HTML5兼容。它是否仅适用于非常旧的浏览器?它是否可能因为其他地方的一些无关HTML错误而中断,而这些错误是由此触发的?“不同主题”是否在输出上执行正则表达式,如果输出与他们认为的不完全一致,就会中断?DOMDocument不保存源代码,而是将其解析为DOM结构。所以它不记得输入是使用单引号还是双引号,它们都产生相同的结构。当您稍后保存它时,它会生成一个规范格式,听起来您发送输出到的应用程序需要的是XHTML,而不是HTML5。请参阅以了解执行此操作的方法。
<title>WordPress &ndash; Development &ndash; </title>
<link rel="dns-prefetch" href="//fonts.googleapis.com">
<link rel="dns-prefetch" href="//s.w.org">
<link href="https://fonts.gstatic.com" crossorigin rel="preconnect">
<link rel="stylesheet" id="dashicons-css" href="http://localhost/WordPress/wp-includes/css/dashicons.min.css?ver=4.9.6" type="text/css" media="all">
$doc = new \DOMDocument("1.0");
$doc->xmlStandalone = false;
$doc->encoding = 'UTF-8';
libxml_use_internal_errors( true );
$doc->loadHTML( $html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD );
// Add some HTML Divs and CSS classes
$html = $doc->saveHTML($doc->doctype);
$html .= "\n";
$html .= $doc->saveXML($doc->documentElement);