2012-04-06 1 views
3

値取得:あなたが見ることができるようにPHP DOM:すべてのテキストは、私はこのようなものに見えるかもしれませんHTML文字列持って

<body> 
    <div> 
    <span class="blah">Monkey </span> 
    <p>breath really <b>stinks</b></p> 
    And I don't like it! 
    </div> 
</body> 

を、素子内部値として適切に含まれるいくつかのテキストがあります、ありますテキストノードやその他の要素を含む要素。 本文の下にすべてのテキスト値を取得したいと思います(本文は変数に格納されているDOMElementです)。

ので、出力は次のようになります。

モンキーbreatは本当に臭い、私はそれを好きではありません!

どうすればよいですか? XPath?正規表現?マジック?

+0

魔法を試してみると、あなたはjavascriptを使用しています。 – Chibuzo

+0

@jwegner - なぜこれをしたいですか?ユースケースは何ですか? – Flukey

+1

@Flukeyここで説明した「リンク密度」と同様に(http://stackoverflow.com/questions/3652657/what-algorithm-doesreadable-use-for-extracting-text-from-urls)、私はHTMLフォームのの密度を計算したいのですが、 – jwegner

答えて

0

jqueryを使用しても構いませんが、私はこれに答えるかもしれません。

まず我々は

は、すべてのテキストがあると仮定、content.Soは、そのためにPHPのカールを使用クロールする必要があり、次の行を持っているjqueryの機能をトリガー本体内のコンテンツを取得content.Afterをエコーあなたが選ぶどんなイベントに関数をバインドするためにjqueryのデリゲートを使用してくださいIDのコンテンツ

$('#content').text() gives you the required output. 

でのdivに含まれています。

+0

これはPHPの内部にあり、HTMLはcURLを介して収集されます。残念ながら、jQueryはオプションではありません。 – jwegner

+0

私は毎日同じことを使用しています。私はちょうど完全な画像を与えるためにこの答えを編集します –

+1

いいえ、実際には、これはフロントエンドで行うことはできません。文字どおり_フロントエンドはありません。これを一種のAPI関数と考えることができます。これはサーバー上で完全に実行され、解析された結果はJSON経由でユーザーに渡されます。 – jwegner

関連する問題