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

I've figured out that I could parse the DOM looking for scripts node with the TFHpple library. Then I removed this node and that's it !

于 2013-09-17T17:50:30.050 に答える