3

brまたはspan.../spanタグまたはその他のHTML文字/エンティティを含む可能性のある文字列があります。これらすべてを取り除き、残りのUTF-8文字を取得するための堅牢な方法が必要です。これは、理想的にはクロスプラットフォームである必要があります。

このようなものが理想的です:

http://snipplr.com/view/15261/python-decode-and-strip-html-entites-to-unicode/

しかし、それはタグも削除します。

4

3 に答える 3

2

要件はどれだけ厳しいですか?単純な2つの状態のFSAが実行する必要があります。READCHAR状態で開始します。その状態で「<」を読み取るたびに、READTAG状態に移行します。それ以外の場合は、結果文字列に文字を書き込みます。READTAG状態にあり、「>」を読み取るときはいつでも、READCHAR状態に戻ります。

編集:おっと。エンティティについての部分を見逃しました。そのためにもREADENTITY状態が必要になります。そこから移行するときに、コードを対応するUTF-8文字に変換することもできます。

于 2009-06-11T02:55:33.400 に答える
1

私はあなたが何を望んでいるのかはっきりしていません。

入力:これは

テキストの文字列であり、多くの行にあります "

この出力が必要です:

1) This is a string <br> <br /> of text & on many lines "   (Replace &amp; with & and &quot; with ") 
2) This is a string of text & on many lines "
于 2009-06-11T03:15:13.017 に答える
0

単に要素を削除しますか、それともHTMLをプレーンテキストに変換しますか?

オプション1:

のすべてのオカレンスを削除したいだけで、正規表現の検索と置換を使用できる場合。

オプション2:

あなたが本当にやろうとしているのがフォーマットのあるページを取り、それをプレーンテキストに変換することである場合、私が考えることができる最も簡単で最も堅牢な方法は、ブラウザまたはブラウザエンジンを使用して実際にHTMLを解析し、そこからテキストを抽出します。

IOW、これは、Webページをブラウザーからクリップボードにコピーしてからメモ帳に貼り付けるのと同じです。

于 2009-06-11T02:55:24.320 に答える