何が必要かを理解するために、以下のコードを使用してコンテンツを解析しています
タグを付けて各文をタグで囲み、ページ上の文を操作できるようにします。
$('p').each(function() {
var sentences = $(this)
.text()
.replace(/(((?![.!?]['"]?\s).)*[.!?]['"]?)(\s|$)/g,
'<span class="sentence">$1</span>$3');
$(this).html(sentences);
});
ただし、次の行は私の問題を示しています。
<p>This is a <a href="#">link</a> and it is removed with the above code! Here is another sentence.</p>
<a>、<img> などのネストされたタグ ... 検索中の <p> タグ内は、使用しているコードで削除されます。<p> タグ内のコンテンツが変わらないように、これらのタグをそのままにしておく必要があります。
私は欲しい:
<p><span class="sentence">This is a <a href="#">link</a> and it is removed with the above code!</sentence><sentence>Here is another sentence.</sentence></p>
正規表現を使用した HTML の解析に関するこのバーンバーナーを読んだ後、ある種の HTML パーサーの組み合わせを使用して <p> タグ内のサブタグを走査し、正規表現を使用して検索する必要があると結論付けました文章。上記の正規表現は、私の用途のほとんどで機能するはずです。
だから:どうすればいいですか?