2012-04-10 9 views
0

Johann BurkardとBartek Szopkaが提供するようなjQueryテキスト強調ルーチン(プラグイン)が多数ありますが、これまでに見つかったものすべてが失敗しますHTMLテキスト書式タグを含むテキストを強調表示します。例えばテキストフォーマットタグを含むHTMLのjQuery強調表示

、私はフレーズを強調したい場合は、「Loremのイプサム悲しみはAMET座る」とHTMLページがフレーズLorem ipsum <strong>dolor</strong> sit ametが含まれているが、その後、フレーズの発生が強調表示されていません。

同様に、単語「Lorem」を強調表示し、HTMLページにLo<i>rem</i>が含まれている場合、そのオカレンスも強調表示されません。

PHPで正規表現を使用して強調表示を開始しましたが、事実上誰もがDOMに行かなくても確実にハイライトすることは不可能だと言ったので、今DOMに行きました。あまりにも!

誰かがこの問題を解決する優れたjQueryハイライトルーチンまたは既存のルーチンの修正を提案できますか?

+0

PHPに関する限り、この質問はここで答えられました:[preg_replaceのHTMLタグを無視する](http://stackoverflow.com/q/8193327/367456) - JavaScriptでも同じことが可能です。 – hakre

+0

@hakreあなたが言及した記事では、codepage.viper-7の例は動作していないようです。あなたの例の完全な作業コードを表示またはダウンロードする場所はありますか? –

+0

はい、それはgithubでもあります:https://gist.github.com/gists/1894360/ - コメントにリンクされていました。この例は、IIRCの回答です。 – hakre

答えて

0

既存の書式について非常に心配していないなら、あなたが使用することができます。

$('selector').html($('selector').text()); 

、あなたの蛍光ペンを適用します。

+0

フォーマットされたHTMLにハイライトを適用することは可能ですが、単純な答えではなく、プラグインを作成する必要があります。 – skafandri

+0

アイデアをありがとうございますが、このWebページの強調表示では、既存のテキスト書式を保持することが重要です。 –

関連する問題