这是我的代码:
$xpath_query = $xpath->query('//div[@class="paragraph-content"]//h2[1]');
$i = 0;
foreach($xpath_query as $header){
if (!empty($header->nodeValue) && $i == 0){
$replacement = $dom->createDocumentFragment();
$replacement ->appendXML("<h1>$header->nodeValue</h1>");
$header->parentNode->replaceChild($replacement , $header);
}
$i++;
}
我要在xpath中抓取<h2>
标记并将其替换为<h1>
在<h2>
标记中有一个类似“拨入远足和追踪”的值,并且将其替换为<h1>
标记时,它不显示文本。
“&”或&amp导致替换项中断,$header->nodeValue
我如何转义$header->nodeValue
,这意味着如果字符串中有包含<br>
标签或&amp;的情况。当我有一个<br>
标签或文本中有&时,它将中断替换。
答案 0 :(得分:1)
您可能需要确保在创建HTML时对实体进行编码(我使用过htmlentities()
)...
$replacement ->appendXML("<h1>".htmlentities($header->nodeValue)."</h1>");
答案 1 :(得分:0)
我已经使用以下方法解决了该问题:
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
optimization: {
minimizer: [ new UglifyJsPlugin() ],
}