HtmlAgilityPack and php tags
本文关键字:tags php and HtmlAgilityPack | 更新日期: 2023-09-27 18:09:48
我正在尝试用htmllagilitypack制作,进行更改并保存文档。但是,如果文档包含php标记,则在尝试保存时它们就会出错。正则表达式不希望使用,有很多陷阱。这个问题有什么优雅的解决办法吗?
代码:var Doc = new HtmlAgilityPack.HtmlDocument();
Doc.DetectEncodingAndLoad("page.html");
.............
string Result = Doc.DocumentNode.OuterHtml;
源:<html>
<?php echo "hello"; ?>
</html>
结果:<html>
<?php echo="" "hello";=""?>
</html>
目前还不支持,但是如果您更改源代码并重新编译,可以修复它(毕竟,这就是开源的目的……)。转到HtmlNode.cs,找到internal void WriteAttributes(TextWriter outText, bool closing)
函数,并添加以下代码片段:
internal void WriteAttributes(TextWriter outText, bool closing)
{
if (Name.StartsWith("?"))
{
int len = _outerlength - 3 - _namelength;
if (len > 0)
{
outText.Write(OwnerDocument.Text.Substring(_namestartindex + _namelength, len));
return;
}
}
....
}