PHPで

2011-04-06 7 views
0

のHTML出力(整形されたテキスト)を取得するHTMLコードをいくつかクリーンアップして(ブラウザで表示する)表示テキストをフィルタリングする関数(PHP)があるかどうか知っていますか? ありがとうPHPで

+0

実際に表示されるテキストを見つけるのは非常に難しいので、HTMLファイル内のテキストを数えていると仮定しています(CSS表示:なし、または重なっているもの) –

答えて

4

これはあなたが考えるよりも難しいです。明らかに単純な解決策は、strip_tags()を実行することですが、タグを削除し、埋め込まれたjavascriptやCSS、通常隠されている要素内のすべてのテキストをそのまま残しておくだけです(例えば、display: noneを設定するなど)。 )。興味のない部分をフィルタリングするために正規表現の魔法を試すこともできますが、HTMLの正規表現は一般的に重要ではありません。究極の解決策は、適切なHTMLパーサを使用し、結果のDOMツリーから実際のテキストを引き出すことです。あなたがそれを持っているときには、Webブラウザを実装するのにかなり近いでしょう。

+0

ありがとうございます。 strip_tags()を実行する前にjavaとcssを切り捨ててください:-) – Mattia

+0

javascriptを意味しますか? Javaはまったく別のものです。 – tdammers

1

)はstrip_tags(を見てみましょう:あなたは文字通り、その後solution like TIDY could be your answer、コードを "クリーンアップ" している場合

http://us.php.net/manual/en/function.strip-tags.php

+2

今私はなぜこのサイトへの貢献を止めたのかを覚えています。過度に熱心なダウン投票者による挫折感を再発見するのに30分しかかからなかった。 –

+0

+1私の不満を分かち合うため。 – 65Fbef05

+0

ありがとう!! ;-))) – Mattia

0

Some solutions like thisは、プレーンテキストを引き出して痛みを和らげます。

しかし、 "完全な"解析は他の話全体であり、あなたは正規表現を骨格に入れる方がよいでしょう。

+0

strip_tags関数はいくらか改善すればうまくいくはずです。ありがとう – Mattia