2011-01-19 13 views
1

htmlタグを保存しているテキストを検索して置き換えることができるJavaベースのhtmlパーサを探しています。この質問は前にここで尋ねられましたが、回答は目標に当たらないようです。ダウンロードしたHTMLパーサーはほとんどなく、簡単なプログラムを書いて仕事をすることができるかどうかを確認します。これらにはjsoup、Jericho、Java HTMLパーサなどがあります。これらは検索を行うことができますが、htmlタグを保持するテキストを置き換える場合、それを行う方法はありません。htmlタグを検索して置き換えて保存する

が、私はこれらの記事のための完全なスレッドを読んだことがある:今日存在するそのようなパーサはありません

How to find/replace text in html while preserving html tags/structure

html search and replace on server side

場合は、1を実装するための最良の方法は何ですか?既にこのようなことをしている場合は、コードを共有できますか?

+0

あなたはこの重要なポイントhttp://stackoverflow.com/questions/1856014/how-to-find-を見逃しているように見えるのですHTML-while-preserving-html-tags-structure/replace-text-in-1856634#1856634あなたは返事で何を言ったのですか?それが "正しい"パーサを見つけることができない理由ではありませんか? – Osw

+0

あなたはakaiholaさんの返信をお伝えしたいと思います。ステップ3に問題があります。文字列がステップ1,2に示すように位置1、2にあると仮定します。3.で必要な正規表現は#(\ d +);スタック\ s +#(\ d +);オーバーフロー\ bと置換#1;スタック%\ 2;アンダーフロー – user576249

+0

解決策を見つけましたか?シェアしてください。 – Sourabh

答えて

0

ジェリコパーサーがお手伝いします。永遠にあり、誤った形式のHTMLで動作します。 http://jericho.htmlparser.net/docs/index.html

+0

ありがとうございますが、ジェリコは開始タグと終了タグ内でのみ置き換えられます。単にテキストの検索と置換を行うだけで、htmlパーサーなしで行うことができます。 – user576249

1

カハパーサーはlibhtmlparser、org.w3c.dom.DocumentFragmentを生成する組み込みXMLサブツリーを含むタグのスープとよく予約HTML5パーサを使用し、整形HTMLを生成レンダラを持っています。

パーサーコードがhttp://code.google.com/p/google-caja/source/browse/trunk/src/com/google/caja/parser/html/DomParser.java

でレンダラコードがhttp://code.google.com/p/google-caja/source/browse/trunk/src/com/google/caja/parser/html/Nodes.java

関連する問題