Jsoupはそのクラスに基づいて要素をクリーンアップできますか?

私はJsoupを使って文書からすべてのhtmlを整理しようとしていますが、特定のクラスを持つスパンタグをホワイトリストに入れています。

私はこれを持っているが、明らかにこれはattrクラスですべてのスパンを許可して終了する

String html = "
Lorem ipsum dolor
sit amet


"+ "Aenean quam sem" + "lacinia molestie nibh mattis "; String clean = Jsoup.clean(html, Whitelist.none() .addTags("span") .addAttributes("span", "class"));

Is there a way to clean all html except the ?

私の最終結果は

Lorem ipsum dolor sit amet
Aenean quam sem
lacinia molestie nibh mattis
1

1 答え

Sticking to Jsoup solution, you can try following steps, but it is hardcode:

  1. すべての値要素をテキストからリストに抽出します。
  2. スパン要素からすべての値を別のリストに抽出します。
  3. OMG_valueのように、マークを付けてテキスト値を変更します。
  4. テキストからすべてのhtmlタグを削除します。
  5. すべてのOMG_valuesを繰り返し保存したリストの値で置き換えます。

If you find another solution - stick to it. This is a hardcode savior from your cruel CEO.

1
追加された
ありがとうD1e、確かにこれはトリックを行いますが、あなたが言及したように、これはハードコードされています。私はjqueryのセレクタのようなもので、.clean( "。whitelistme")のようなものを期待していました。
追加された 著者 maverick,
うん、それは公共のgitにある、私はそれを試してみるかもしれない。 bTW、私はあなたにこのクレジットを与えます。ありがとう
追加された 著者 maverick,
もちろん合法であれば、いくつかのソースコードを調整することもできます。 clean()メソッドを例として、clean(EnumHtml.Tag ... excludes)のような独自のメソッドを実装します。
追加された 著者 JMelnik,