Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » PHP - Добавить в парсер замену url

Ответить
Настройки темы
PHP - Добавить в парсер замену url

Аватара для leonid.poydolov@fb

Новый участник


Сообщения: 43
Благодарности: 0

Профиль | Отправить PM | Цитировать


Подскажите в какую строку подставить "str_replace" чтобы подменить "yandex.st/weather/1.2.83/i" на "localhost" ?

PHP код: Выделить весь код

$content str_replace("yandex.st/weather/1.2.83/i""localhost"$content); 


PHP код: Выделить весь код

<?php
$url 
'http://pogoda.yandex.ru/moscow/details'//загрузит

$beginBlock '<div class=\"b-navigation-city\">';
$endBlock '<div class=\"b-print b-noprint\">';


$cachefile dirname(__FILE__).'/cache/weather.php'// файл кеша

$cache_time_config=7200//время актуальности кеша 2 часа 
//Проверяем наличие кеша
if(file_exists($cachefile)){
$cachetime filemtime($cachefile); // время создание кеша
if ((time() - $cachetime) < $cache_time_config) { //если кеш не устарел - берем значение из него
$cache_used=true;
include 
$cachefile;

}

if(!
$cache_used// если не использовали кеш - заправшиваем страницу с сервера погоды
{
$pattern '%' $beginBlock '(.*)' $endBlock '%isU';

$fp = @fopen($url'r');
if (!
$fp) exit();
$data '';
while(!
feof($fp))
{
$data .= fgets($fp8192);

fclose($fp);
if (!
preg_match($pattern$data$matches)) // страница не доступна 

if(
file_exists($cachefile)){ // берем из устаревшего кеша данные
include $cachefile;
}
else 
// кеш отсутствует

echo 
'Сервер погоды временно недоступен';
}
}
else 
// сохраняем в кеш новое значение
{

file_put_contents($cachefile,'<?php $matches='.var_export($matches,1).'; ?>');
}
}

echo isset(
$matches[1]) ? $matches[1] : '';
?>


Отправлено: 16:09, 02-12-2014

 

Аватара для Habetdin


Автор проектов


Сообщения: 3650
Благодарности: 1499

Профиль | Сайт | Отправить PM | Цитировать


leonid.poydolov@fb, делайте замену после получения данных:
PHP код: Выделить весь код

<?php
$url               
'http://pogoda.yandex.ru/moscow/details'//загрузит
$beginBlock        '<div class=\"b-navigation-city\">';
$endBlock          '<div class=\"b-print b-noprint\">';
$cachefile         dirname(__FILE__) . '/cache/weather.php'// файл кеша
$cache_time_config 7200//время актуальности кеша 2 часа
//Проверяем наличие кеша
if (file_exists($cachefile))
{
                
$cachetime filemtime($cachefile); // время создание кеша
                
if ((time() - $cachetime) < $cache_time_config//если кеш не устарел - берем значение из него
                
{
                                
$cache_used true;
                                include 
$cachefile;
                }
}
if (!
$cache_used// если не использовали кеш - заправшиваем страницу с сервера погоды
{
                
$pattern '%' $beginBlock '(.*)' $endBlock '%isU';
                
$fp      = @fopen($url'r');
                if (!
$fp)
                                exit();
                
$data '';
                while (!
feof($fp))
                {
                                
$data .= fgets($fp8192);
                }
                
fclose($fp);
                
$data str_replace("yandex.st/weather/1.2.83/i""localhost"$data);
                if (!
preg_match($pattern$data$matches)) // страница не доступна
                
{
                                if (
file_exists($cachefile)) // берем из устаревшего кеша данные
                                
{
                                                include 
$cachefile;
                                }
                                else 
// кеш отсутствует
                                
{
                                                echo 
'Сервер погоды временно недоступен';
                                }
                }
                else 
// сохраняем в кеш новое значение
                
{
                                
file_put_contents($cachefile'<?php $matches=' var_export($matches1) . '; ?>');
                }
}
echo isset(
$matches[1]) ? $matches[1] : '';

-------
Рекомендую: $25 на тест виртуального сервера (VPS) за регистрацию по ссылке

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:38, 02-12-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » PHP - Добавить в парсер замену url

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
http/web - Редирект URL на другой URL zergood Сетевые технологии 0 03-04-2014 15:20
[решено] Как добавить фоновый рисунок в код PHP zion87 Вебмастеру 4 13-02-2012 14:52
Как добавить URL в безопасные узлы? garanov AutoIt 1 04-02-2011 19:34
2010 - [решено] Как в VBA добавить на Toolbox элемент управления Календарь или его замену okshef Microsoft Office (Word, Excel, Outlook и т.д.) 4 11-11-2010 07:46
как добавить в PHP поддержку XSLT ? Vlad Drakula Программирование в *nix 1 15-05-2008 14:39




 
Переход