-1

別のサイトから情報を取得しようとしています。

<td>
    <?php
    $site=file_get_contents("$link");
    $price='#<div class="price_a">(.*?)<\/div>#si';
    preg_match_all($price,$site,$pricelist);
    for ($a=0; $a<1; $a++){
        echo $pricelist[1][$a];
    }
    ?>
</td>

<td>
    <?php
    $site=file_get_contents("$link");
    $price='#<div class="price_a">(.*?)<\/div>#si';
    preg_match_all($price,$site,$pricelist);
    for ($a=1; $a<2; $a++){
        echo $pricelist[1][$a];
    }
    ?>
</td>

しかし、ソースコードにはまたはのようなタグもあり<div class="price_m">ます<div class="price_n">

このサイトからすべてのタグを取得してタグで使用するにはどうすればよいですか?

ありがとう...

4

2 に答える 2

0

私があなたを正しく理解したかどうかはわかりませんが、クラス名にもワイルドカードを使用してみませんか?

<td>
<?php
$site=file_get_contents("$link");
$price='#<div class="price_[a-z]">(.*?)<\/div>#si';
preg_match_all($price,$site,$pricelist);
for ($a=0; $a<1; $a++){
echo $pricelist[1][$a];
}
?>
</td>

<td>
<?php
$site=file_get_contents("$link");
$price='#<div class="price_[a-z]">(.*?)<\/div>#si';
preg_match_all($price,$site,$pricelist);
for ($a=1; $a<2; $a++){
echo $pricelist[1][$a];
}
?>
</td>
于 2013-01-09T16:12:18.383 に答える
0

HTML文字列を解析するには、 PHP Simple HTML DOM Parserを使用するのが最善だと思います。非常に使いやすいjQueryスタイルのセレクターがあります。

// Create DOM from URL or file
$html = file_get_html($link);

foreach($html->find('div.price_a') as $price_a) {
  // all div.price_a
}
foreach($html->find('div.price_m') as $price_m) {
  // all div.price_m
}
foreach($html->find('div.price_n') as $price_n) {
  // all div.price_n
}
于 2013-01-09T17:42:15.653 に答える