0

我正在解析一个 xhtml 文档,但我想删除所有标签,只是为了保留纯文本。这就是我所做的:

NSRange r;
NSString *s = from;

while ((r = [s rangeOfString:@"<[^>]+>" options:NSRegularExpressionSearch]).location != NSNotFound) {
    s = [s stringByReplacingCharactersInRange:r withString:@""];
}

例如,它适用于:

<h1>Hello</h1> which renders Hello
<a href="hello.html'>Hello</a> which also renders Hello

完美的。

但我也想删除内联脚本标签的内容

<script ...> here is some Js I want to remove </script>

当然,在最初的正则表达式中,script 和 /script 都被删除了,但里面的 JS 没有。

所以我需要写一个其他的正则表达式,比如

@"/<script((?:(?!src=).)*?)>(.*?)</script>/smix"

这不起作用

4

1 回答 1

0

我发现我可以使用 TFHpple 库解析 DOM 以查找脚本节点。然后我删除了这个节点,就是这样!

于 2013-09-17T17:50:30.050 回答