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

ネストされた要素の取り出しについて

http://1811way.com/work008/sample-tags.txt
のようなHTMLファイルのタグがあります。

この中の、3番目の要素のa要素を取り出すのにはどうすればいいのか、
教えていただけると助かります。
「http://www.aaa.bbb.tw/」という文字列だけを取り出したいのですが。

ちなみに
$url = $item->find( 'td', 2 );
で3番目の<td>----</td>のすべてのタグが取り出せます。
また、
$url = $item->find( 'td', 2 )->find( 'a', 0 );
とやるとエラーになります。

このやり方は
http://www.crystal-creation.com/web-app/tech/programming/php/library/simplehtmldom/#c_57
のサイトの、以下の部分に記述されていたものです。
// 最初のul要素の中の 最初のli要素を取得する
$e = $html->find( 'ul', 0 )->find( 'li', 0 );

よろしくお願いします。

私の環境は
PHP5.3.8&MySQL5.5(localhostの環境でapache2.2&Windows7)
です。

●質問者: kohhi
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● snow0214
●250ポイント ベストアンサー

回答リクエストをもらいました。

こんな感じでどうでしょう。

<?php
include_once('simple_html_dom.php'); 

$url = 'sample-tags.txt';
$dom = file_get_html($url);
echo $dom->find('td', 2)->find('a', 0)->href;
$dom->clear();
unset($dom);
?>

kohhiさんのコメント
ありがとうございました。できました。

2 ● 井戸端さん
●50ポイント

$url = $item->find( 'td', 2 )->find( 'a', 0 );
とやるとエラーになります。

まちがってないわ。エラーが出るわけないわ。

文字列だけを取り出したい

タグを含んでいるから後処理でエラーになるってことでいいかしら?


受け売り丸コピも結構だけど歓迎はしたくないわね。乗っ取りや情報漏えいのような致命傷になることもあるわよ。
かならずマニュアル確認することをすすめておくわね。
PHP Simple HTML DOM Parser: Manual

<?php
require_once('simple_html_dom.php'); 
$file = "http://1811way.com/work008/sample-tags.txt";

$dom = file_get_html( $file );
$tag = $dom->find('td', 2)->find('a', 0);
$url = $dom->find('td', 2)->find('a', 0)->href;

echo <<<END
タグ $tag
<br>
url $url
END;

$dom->clear();
unset($dom);
?>

kohhiさんのコメント
早速お返事いただきありがとうございました。
関連質問

●質問をもっと探す●



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