Тема: Help!
Показать сообщение отдельно
Старый 05.01.2004, 18:56     # 6
Saruman
::VIP::
 
Аватар для Saruman
 
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285

Saruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman Гуру
Echelon
Вот тебе простейший скрипт. Т.к. ты не сказал, с какой именно страницы тебе нужны цены, то я взял первую попавшуюся - Weekly Prices. Если нужна другая - разбирайся со скриптом и правь под свои цели. Регулярное выражение для поиска специально сделал как можно проще, чтобы было понятно, как и что ищется, поэтому если внимательно посмотришь на код страницы и на шаблон поиска, то все поймешь.
PHP код:
<?

ini_set('max_execution_time', '1000');

// Вызываем функцию для получения массива цен в виде категория => цена
$aPrices = getPrices();

// Строим таблицу
echo "<table>";
foreach($aPrices as $sCat => $sPrice) {
    echo "<tr><td>".$sCat."</td><td>".$sPrice."</td></tr>";
}
echo "</table>";


function getPrices() {
    // Получаем содержимое страницы
    $sContent = file_get_contents("http://www.rubberboard.org.in/weeklyrubberprice.asp");
    // Выделяем с нее нужные данные
    if (!preg_match_all('/<tr><td class=leftheading><font.*>(.*)<\/font><\/td>.*<td.*>.*<\/td>.*<td.*>.*<\/td>.*<td.*>(.*)<\/td>/Usi', $sContent, $aMatches, PREG_SET_ORDER)) {
        die("Error: can't find data rows");
    }
    // Собираем их в массив для удобства
    $aRes = array();
    while ($aCurRow = array_pop($aMatches)) {
        $aRes[$aCurRow[1]] = strip_tags($aCurRow[2]);
    }
    return($aRes);
}
?>
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti
Saruman вне форума