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"
動作しない