2012-04-26 5 views
-1

ランダムリンクを選択し、そのページから情報を取得するスクリプトを作成しようとしています。しかし、これを試している間:PHPとのランダムリンクを選ぶシンプルなHTML DOMパーサー

$html= file_get_html('xxxbh.com/3/overview.aspx';); 
$title = $html->find('.userlist a', 0)->plaintext; 

私はそれが最初のものを得ることが分かった。ページのhtmlは次のとおりです。

<td style="width: 20%; padding-bottom: 5px;"><a href="/item/18243/details.aspx">item.135</a></td> 
<td style="width: 20px;"><im g style="padding: 0pt; float: none; vertical-align: middle;" src="/images/item_X.png"></td> 
<td style="width: 20%; padding-bottom: 5px;"><a href="/item/11272/details.aspx">item.18</a></td> 
<td style="width: 20px;"><im g style="padding: 0pt; float: none; vertical-align: middle;" src="/images/item_X.png"></td> 

誰かが私に方法を教えてくれますか?より最適な解決策がある場合は事前に感謝は

+0

ここでどのクラスを使用していますか($ html-> find())? –

+0

$ html-> find( '。userlist a'、0) - > plaintext; 私は理由を知っていませんが、 "userlist a"でそれらをつかむことはできません – oMikR0n

+0

いいえ、何のクラスは$ htmlですか?どのような種類のオブジェクトですか?変数stringに対してfind()を実行することはできません。 –

答えて

1

私は知りませんが、あなたは、リンクの多くを持っていない場合は、配列としてそれらのすべてを取得し、ランダムにいずれかを選択できます。

<?php 
$links = $html->find('.userlist a'); 
$c = count($links); 
$randomLink = $links[mt_rand(0, $c - 1)]; 
+0

私は:非オブジェクト上のメンバ関数children()を呼び出す – oMikR0n

+0

@ oMikR0n '$ links [mt_rand(0、$ c - 1)] ? – galymzhan

+0

ありがとうございました:D – oMikR0n

関連する問題