2011-01-04 4 views
0

htmlタグを取り除いて、htmlのブロック内のキーワードを強調表示する良い方法を探しています。私は正規表現でhtmlタグ内のキーワードを検索することができますが、タグ間で検索する素晴らしい方法は見つかりませんでした。キーワードフレーズが「バインドされていない」されている場合たとえば、私が作るこの検索とハイライト - タグを無視して維持する

<p>I am not<strong>bound to please thee</strong> with my answers.</p> 

「強い」タグを壊す(および無効なHTMLを作成)することなく、ハイライトタグに包まなるとなることができるようにしたいです:

​​

主な問題は、HTMLをそのまま維持し、ハイライトタグでテキストのブロックを折り返すことです。私は元のhtmlを維持する必要があります。それ以外の場合は、タグを削除します。

私が今考えることのできる最高の解決策は、各スペースが発生する場所にhtmlと配置カウンタートークンのコピーを作成し、すべてのタグを取り除き、一致するフレーズを検索し、トークン化された文字列とハイライトタグの作成を開始する場所を把握し、必要に応じてハイライトスパンの開始と終了を開始します。これは過労のようです。可能であればもっとエレガントにしたいです。

解決方法は、C#またはおそらくjavascriptで書かれています。

答えて

関連する問題