我想从html或xml文件中提取未注释掉的所有节点。 以下正则表达式是我目前的方法。
我的RegEx
/<span.*?>([\s\S]*?)<\/span>/gi
这里是示例xml
<div>
<p>
<span style="font-size: 20px;">Hello</span>
<span style="font-size: 20px;">World</span>
</p>
<p>
<!--
<span>Hello</span>
<span>World</span>
-->
</p>
<p>
<span>Hello</span>
<span>World</span>
</p>
<!--
<p>
<span>Hello</span>
<span>World</span>
</p>
-->
我很感激帮助。
最好的问候, 迈克尔
答案 0 :(得分:0)
好吧,您可以使用合适的解析器(在这种情况下为func pickerView(pickerView: UIPickerView, widthForComponent component: Int) -> CGFloat {
return self.view.bounds.width
}
)删除注释,然后分析剩余部分。请考虑以下代码(请注意DomDocument
字符串中已更改的数字,以明确删除的内容):
Hello World
现在您的评论标签已被删除。显然,你可以摆弄<?php
$html = '<div>
<p>
<span style="font-size: 20px;">Hello</span>
<span style="font-size: 20px;">World</span>
</p>
<p>
<!--
<span>Hello2</span>
<span>World2</span>
-->
</p>
<p>
<span>Hello3</span>
<span>World3</span>
</p>
<!--
<p>
<span>Hello4</span>
<span>World4</span>
</p>
-->
</div>
';
$dom = new DOMDocument;
$dom->loadHtml($html);
$xpath = new DOMXPath($dom);
foreach ($xpath->query('//comment()') as $comment)
$comment->parentNode->removeChild($comment);
$body = $xpath->query('//body')->item(0);
echo $dom->saveXml($body);
# yields hello world and hello world3
?>
来更精确。