Php 从DOMdocument保存的HTML中的字符将转义
我在使用PHP的DOMdocument时遇到了一个恼人的问题。我已经加载了HTML,并更改了元素的一些属性。我想保存更改后的HTML,并将其输出。 奇怪的是,当我使用Php 从DOMdocument保存的HTML中的字符将转义,php,html,dom,Php,Html,Dom,我在使用PHP的DOMdocument时遇到了一个恼人的问题。我已经加载了HTML,并更改了元素的一些属性。我想保存更改后的HTML,并将其输出。 奇怪的是,当我使用->saveHTML()或->saveXML()时,我的结束标记的斜杠被转义。我可以用正则表达式删除逃逸,但我想知道是否有更干净的方法 libxml_use_internal_errors(true); $dom = new DOMDocument(); $dom->loadHT
->saveHTML()
或->saveXML()
时,我的结束标记的斜杠被转义。我可以用正则表达式删除逃逸,但我想知道是否有更干净的方法
libxml_use_internal_errors(true);
$dom = new DOMDocument();
$dom->loadHTML ($roosterHTML);
$dom->preserveWhiteSpace = false;
libxml_clear_errors();
libxml_use_internal_errors(false);
$tables = $dom->getElementsByTagName('table');
$cols = $tables->item(0)->getElementsByTagName('td');
$name = preg_replace("/(\\n|\\r| )/", "", $cols->item(3)->nodeValue);
$sirname = preg_replace("/(\\n|\\r| )/", "", $cols->item(2)->nodeValue);
$class = preg_replace("/(\\n|\\r| )/", "", $cols->item(1)->nodeValue);
$header = "Rooster van $name $sirname ($class)";
$rooster = $tables->item(1);
$firstRow = true;
foreach ($rooster->getElementsByTagName('tr') as $row) {
if ($firstRow) {
$firstRow = false;
continue;
}
$firstCol = true;
foreach ($row->getElementsByTagName('td') as $col) {
if ($firstCol) {
$firstCol = false;
continue;
}
$text = $col->nodeValue;
$col->setAttribute('style','background-color:#FF0');
//$return.= $text;
}
}
$rooster = $dom->saveXML($rooster);
测试(只需单击提交,即可发送POST值):
否,转义是由json引起的
这意味着该页面不是输出HTML,而是类似json的纯文本谢谢,我正要结束这个问题,我也注意到了这一点。