从另一个站点获取信息

时间:2013-01-09 16:07:39

标签: php

我正试图从其他网站获取信息。

<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">

等标记

如何从本网站获取所有标签并在标签中使用?

...谢谢

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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
}