我正在解析一些HTML,我需要在body标签中获取所有html。我的目标字符串将始终如下所示:
<body><div><img src="" />text etc</div></body>
但是,我只需要:
<div><img src="" />text etc</div>
我的目标字符串将始终以这些body标签开头和结尾。但是,反复警告不要使用Regex解析HTML,但是除了Regex之外,我没有任何可行的解决方案。
问题:在这种情况下是否可以使用任何安全的正则表达式?还是我应该忘记它?
最佳答案
您没有向我们展示您的正则表达式是什么,但是如果它像下面这样简单,则不如使用DOM解析安全:
<body>(.*?)</body>
...因为
</body>
可能包含在属性字符串或注释中。如果您愿意冒险,那您会没事的。但是,没有理由您不应该使用DOM解析并仅获取正文文本,除非它可能效率较低。您也可以跳过正则表达式,仅查找
<body>
和</body>
的字符串索引,并获取它们之间的子字符串。那应该更快。顺便说一句,这不是解析HTML。您只是从HTML中提取
关于iphone - 可以安全使用正则表达式吗? (HTML),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16630123/