0

クラン名を取得するページを作成しています。ここで、クラン名が入っている div を受け取る小さなスクリプトを作成しました。その中には 4 つありますが<li></li>、受け取っているのは 3 つだけです。

これは受け取るべきものです:

クラン: 天国の英雄

レベル: 2433

ランク: 20,120

合計 XP: 328,197,006

しかし、これを受け取ります:

レベル: 2433

ランク: 20,120

合計 XP: 328,197,006

クランを受け取っていないことがわかります。何が間違っているのかわかりません。

次のコードが使用されています。

<?php
$curl = curl_init('http://services.runescape.com/m=adventurers-log/a=134/display_player_profile.ws?searchName=30');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);

$page = curl_exec($curl);

if(curl_errno($curl)) // check for execution errors
{
    echo 'Scraper error: ' . curl_error($curl);
    exit;
}

curl_close($curl);

$regex = '/<ul id="generalInfo" data-playername="30">(.*?)<\/ul>/s';
if ( preg_match($regex, $page, $list) )
    echo $list[0];
else
    print "Not found";
?>

以下は私が取得しようとしているものです

    <ul id="generalInfo" data-playername="30"><li><h5>Clan:</h5> <a href="http://services.runescape.com/m=clan-home/a=134/clan/Heroes of Heaven"><strong>Heroes of Heaven</strong></a></li>
<li><h5>Level:</h5> <strong class="stat level">2433</strong></li>
<li><h5>Rank:</h5> <strong>20,120</strong></li>
<li><h5>Total XP:</h5> <strong>328,197,006</strong></li>
</ul>

そしてこれが受け取られている

<ul id="generalInfo" data-playername="30">
<li><h5>Level:</h5> <strong class="stat level">2433</strong></li>
<li><h5>Rank:</h5> <strong>20,119</strong></li>
<li><h5>Total XP:</h5> <strong>328,197,006</strong></li>
</ul>

編集2

$regex = '/<a href"(.*?)">(.*?)<\/a>/s';

欲しいライン:

楽しみのためのNL BE

$regex = '/<strong>(.*?)<\/strong>/s';

欲しいライン:

<strong>NL BE for fun</strong>
4

0 に答える 0