人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

DOMでクラスが2つある場合の指定の仕方を教えてください。

DOMでCSSセレクタ、またはXPathにて以下のテキスト部分だけを抽出したいと思っているのですがどのようにすればいいのでしょうか?
自分はPHP5.3.8をcentOS6にて使っているのですが、
$results = $dom->query('div[class="cmn-article_text JSID_key_fonttxt"]');
とか、いくつか試してみたのですが上手くいきませんでした。

<div class="cmn-article_text JSID_key_fonttxt">
<p>
こんにちは。今日は秋風を感じる一日でした。
</p>
</div>

classが2つあるからダメなのかなとも思ったのですが(classなどが2つある場合はどのようにすればいいのでしょうか?)、良く分かりませんでした。
CSSセレクタ、XPathにてどのように記述すればよろしいのかアドバイスを頂けたらと思います。


●質問者: yujinTODO
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● TransFreeBSD

<?php
include_once "simple_html_dom.php";

$html = str_get_html(<<<HTML
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<div>xxx</div>
<div class="cmn-article_text JSID_key_fonttxt"><p>hoge</p></div>
HTML
);
echo $html->find('div.cmn-article_text', 0)->text() . "\n";
echo $html->find('div.[class=cmn-article_text]', 0)->text() . "\n";
echo $html->find('div.[class*=cmn-article_text]', 0)->text() . "\n";
echo $html->find('div.[class=cmn-article_text JSID_key_fonttxt]', 0)->text() . "\n";
echo $html->find('div.[class="cmn-article_text JSID_key_fonttxt"]', 0)->text() . "\n";
//echo $html->find('div.[class="cmn-article_text a"]', 0)->text() . "\n";
?>

最後のコメントアウト以外問題ありませんでした。

findの引数が1つだとarrayを返す、と言うのを忘れていませんか?

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ