[ios]使用正则表达式为此安全吗?(HTML)

发布时间: 2017/3/23 0:09:11
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我解析一些 HTML,和我需要获得所有 html 正文标记中。我的目标字符串总是看起来像这样︰

<body><div><img src="" />text etc</div></body>

然而,我只被需要︰

<div><img src="" />text etc</div>

我的目标字符串总是将开始和结束与身体的那些标记。然而,不使用正则表达式的一再的警告,解析 HTML,但我手边没有任何可行的解决办法,为此可用,除了目前的正则表达式。

问题︰是否有任何安全的 Regex(s),在这种情况下使用?或我应该只是忘记它吗?

解决方法 1:

你没告诉我们你的正则表达式是什么,但它不是一样安全使用 DOM 解析如果它是一样简单︰

<body>(.*?)</body>

......,因为它是可能, </body> 包含在属性字符串或评论。 如果你愿意冒这个险,然后你会没事。 不是身体的你不应该能够使用 DOM 解析和只得到文本,虽然,除了可能会效率较低。

你可能也跳过正则表达式,只是发现指数的字符串 <body></body> ,得到它们之间的子字符串。 这应该是甚至更快。

顺便说一句,这不是解析HTML;你只从 HTML 中提取

官方微信
官方QQ群
31647020