我试图操纵我的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):
<title>WordPress – Development – </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' />
在DOMDocument例程之后:
<title>WordPress – Development – </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">
主要我的问题是他取代了一些&#39;使用&#34;,删除&#34; /&#34; ...
希望有人能帮助我。 :-)
答案 0 :(得分:0)
如果您的应用程序在/>
标记末尾没有<link
时中断,则听起来它需要XHTML而不是HTML。 PHP文档中有一个comment,它通过使用DOMDocument
方法显示了如何让saveXML()
保存XHTML。
$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);
答案 1 :(得分:0)
不幸的是,我没有设法使用XHTML方法,尽管它给了我新的见解。
简而言之,也许是另一个问题,还有什么其他可能性?我想在已加载的网站中包含一个小的PHP Snipped。
我有一个WordPress插件,它应该根据特殊的CSS ID从textarea输出文本。
Javascript不是解决方案(但用于后备)。