2011-12-05 27 views
2

私はhtmlからプレーンテキストを取得しています。どちらを選択すればいいですか?strip_tagsまたはsimplehtmldom平文の抽出?php:HTMLからプレーンテキストを取得する - simplehtmldomまたはphp strip_tags?

simplehtmldomの1人のプロが無効なhtmlをサポートしていますが、それだけで十分ですか?

+0

ストリップタグがあなたに提供するドキュメント内のすべてのテキストを提供します。ドキュメントの小さな部分が必要な場合は、その部分をDOMで抽出します。 –

答えて

3
あなたはおそらく、あなたが言及した理由smiplehtmldomを使用する必要があります

とstrip_tagsもあなたを残してjavascriptやCSSなどの非テキスト要素は、スクリプト/スタイルブロック内に含まれること

またその要素からテキストをフィルタリングすることができるだろう表示されていない(インラインスタイル=表示:なし)HTMLは十分に簡単である場合、strip_tagsが速いかもしれと

+0

私は、表示されていない要素以外のすべてに同意します。ユースケースは非常に小さく、JavaScriptの実行後以外はインラインスタイルを使用する必要がありません.OPは気にしません。 –

0

ページのプレーンテキストレンダリングだけを望むなら、strip_tagsはより速く簡単です。しかし、そのプロセス中にテキストを操作したい場合、simplehtmldomは長期的にはより良いサービスを提供します。

0

あなたはまた、スラッシュのにstripslashesを削除することがあり、同じタスクを達成するでしょう、と述べた

( )

1

HTMLからテキストを抽出するのは難しいので、Html2Textのようなライブラリを使用することをお勧めします。この目的のために特別に作られたものです。

https://github.com/mtibben/html2text

コンポーザーを使用してインストールします。

composer require html2text/html2text 

基本的な使用法:

$html = new \Html2Text\Html2Text('Hello, &quot;<b>world</b>&quot;'); 

echo $html->getText(); // Hello, "WORLD" 
関連する問題