Тема: 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$aMatchesPREG_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 вне форума