HTMLページで特定の正規表現に一致するすべてのテキストフラグメント(つまり、'< span>First name: < /span>< br/>< b>John< /b>'
が一致するようにタグを無視する必要があります)を見つけ出す必要があります。新しい要素で装飾し、カスタムCSSスタイルを適用する)、これらのフラグメントを見つけることができるこれらをスクロールして表示することができます。 機能は、Skypeブラウザプラグインがページ上で見つかった電話番号と何をしているのかと似ています。正規表現に一致する文字列を含むDOM要素を検索
答えて
あなたはこれを試しましたか?
document.body.innerHTML.replace(/<\/?[^>]+>/g, '')
これは、動的に追加されたすべてのリスナーを破壊するだけでなく、他のブラウザでは、内容が重要でないページに対して、要素、属性、プロパティをさまざまな方法で混乱させる可能性があります。 – RobG
DOM内の検索結果がどこにあるかに関する情報を保持する必要があります。必要なものではなく、document.body.innerText.match()を実行できます。 –
あなたはどちらかの再帰的要素ののTextContent(適宜)またはのinnerTextプロパティを見てDOMを歩くことができ、またはあなたがgetElementsByTagNameのによって返されたコレクションをループを使用することができます。いずれにしても、テキストと親要素を特定したら、それを置き換える方法を検討する必要があります。
文字列が1つ以上の他の要素に分割されている場合、置き換えの文書構造の要件は何ですか?
私は、ノード中心のアプローチと文字列中心のアプローチを使用すると移植性が向上すると主張します。それに、それはほとんどの人が問題を抱えているDOMの側面です:)。 –
はい、OPは複数の要素に分割されていても文字列が必要なので、テキストノードを見るだけでは仕事はできません。分割された文字列をどのように扱うのか分かりませんが、少なくとも上記の方法では文字列全体を持つ最も近い祖先を見つけることができます。 – RobG
あなたはFirst name:
が含まれてい<span>
タグの後に来るJohn
を含む<b>
タグを取得するためにjQuery selectorsを使用して、インスタンスのスタイルを適用することができます:ここで
$("span:contains('First name:') ~ b:contains('John')").css('color','red');
が実行されている例である:http://jsfiddle.net/XzwNj/
これは単なる例であり、特定のケースではありません –
- 1. 文字列パターンを含む正規表現除外一致
- 2. 正規表現に - 、。$ \ /を含む文字列を一致させる
- 3. 正規表現正規表現一致文字列
- 4. 正規表現文字列が一致?
- 5. 文字列間の正規表現に一致する正規表現
- 6. 改行文字を含む文字列の正規表現パターン
- 7. 文字列または正規表現のリテラルにない正規表現と一致する正規表現
- 8. URLを含むPythonの正規表現に一致する
- 9. 正規表現で文字列をHTMLに一致させる
- 10. エスケープ文字を含む引用符付き文字列と一致する正規表現引用符
- 11. 正規表現、検索文字列、文字列を含む単語のリストを除外
- 12. 正規表現 - 空白を含まない文字列に一致します。
- 13. 正規表現と完全に一致する文字列
- 14. 文字列の順序に一致する正規表現
- 15. 文字列の正規表現に一致するハイフン
- 16. 特定の文字列パターンに一致する正規表現
- 17. このタイプの文字列に一致する正規表現
- 18. 正規表現文字列に一致するパターン
- 19. 文字列のセットに一致する正規表現
- 20. コロン ":"の後の文字列に一致する正規表現
- 21. 文字列の後に一致する正規表現
- 22. 複数の文字列に一致する正規表現
- 23. 文字列のリストに一致する正規表現
- 24. すべての文字列、ドットの間の文字列を一致させる正規表現と、ダッシュを含む文字列が一致しない
- 25. 文字列を検索する正規表現ですか?
- 26. セマンティックバージョン管理規約でバージョンを含む文字列と一致する正規表現
- 27. 文字列に除外を含む正規表現
- 28. 正規表現は、ワイルドカード文字検索
- 29. 任意の文字に一致する正規表現内の正規表現
- 30. オプションの文字列正規表現を一致させる
あなたは動作していないコードを持っていますか?これは "私にコードを渡す"の質問ですか?何を試しましたか? – CanSpice
私はアプローチを見つける必要がある、私はコーディングを行うことができます。すでに解決されていてコードが利用可能な場合はさらに良い。 –
jQueryは:contains()セレクタでこれを行うことができます。多分そのロジックは部分文字列検索の代わりにregexp検索を使うように再定義することができます。 –