IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Help! (http://www.imho.ws/showthread.php?t=47707)

Echelon 04.01.2004 22:36

Help!
 
Есть сайт на котором каждый день меняется цифра, надо чтобы она автоматически менялась на другом плюс формула.
Подскажите как сделать, но только обьясните как для "чайника".... краснеть не хочется....и не бейте сильно..

Saruman 04.01.2004 23:54

Echelon
file() - прочитать страницу,
preg_match() - найти совпадение регулярным выражением,
потом пересчитываешь и выводишь.

Echelon 05.01.2004 00:00

А проще можно :)

Saruman 05.01.2004 00:10

Echelon
Может и можно, если подробней распишешь

Echelon 05.01.2004 17:23

Попробую:
вот здесь идут торги http://www.rubberboard.org.in/
там цена при самовывозе с завода, если забирать в порту то цены выше на 30 долларов, если в с доставкой в Гамбург то еще плюс,

а к примеру вот здесь таблица http://www.rubber.czweb.org

Надо чтобы в ней (таблице) менялась цена автоматически с первого сайта плюс добавлялись бы расходы, которые можно было бы изредка корректировать.
вот так.

Saruman 05.01.2004 18:56

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);
}
?>


Echelon 05.01.2004 21:19

Спасиб!
Буду разбираться.


Часовой пояс GMT +4, время: 17:20.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.