【问题标题】:ios regex remove inline javascriptios 正则表达式删除内联javascript
【发布时间】:2013-09-17 03:03:17
【问题描述】:

我正在解析一个 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"

这不起作用

【问题讨论】:

    标签: javascript ios regex


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2019-02-16
      • 2011-12-23
      • 2011-11-01
      • 2013-06-22
      • 1970-01-01
      • 1970-01-01
      • 2014-12-20
      • 2010-10-31
      • 2023-03-20
      相关资源
      最近更新 更多