Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Если значение не найдено, сменить значение перемен 
:(
    Опции темы
bork
Дата 3.12.2014, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 4.1.2008

Репутация: нет
Всего: нет



Скрипт - простой парсер, ищем в коде условие.
Если на странице не найдено условие, то нужно сменить адрес url

 Пример для исправления

Код

$url = 'http://sait.ru/';

$text = file_get_contents($url);
if (preg_match('/<div style=(.*?)&amp;height=/is', $text, $content));

else {

$url ='http://sait2.ru/';

}

echo $content[1];


Т.е. если не нашли на странице условие, повторить поиск для другого сайта  $url ='http://sait2.ru/';

Это сообщение отредактировал(а) bork - 3.12.2014, 15:56
PM MAIL   Вверх
Vardoulacha
Дата 3.12.2014, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 11.8.2005

Репутация: 7
Всего: 8



А в чем вопрос то? Регулярка правильная если будет найдено что-то подобное

Код

<div style="Тестовая строка"&amp;height=


А вот большой вопрос, есть так что-то подобное или нет, неизвестно.

Вы уверены что в переменной $text присутствует нужный кусок кода?

Особое внимание уделить знаку & он точно в тексте выглядит так &amp; а не так &

Это сообщение отредактировал(а) Vardoulacha - 3.12.2014, 16:59
PM MAIL   Вверх
bork
Дата 3.12.2014, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 4.1.2008

Репутация: нет
Всего: нет



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

Вместо  $url = 'http://sait.ru/'  подставить $url ='http://sait2.ru/';


Типа того, только как это почеловечески написать не знаю

Код


$url = 'http://sait.ru/';

$text = file_get_contents($url);
if (preg_match('/<div style=(.*?)&amp;height=/is', $text, $content));

else {

$url ='http://sait2.ru/';

$text = file_get_contents($url);
preg_match('/<div style=(.*?)&amp;height=/is', $text, $content);

}

echo $content[1];


PM MAIL   Вверх
baldina
Дата 3.12.2014, 18:49 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



ну так и напишите. я бы чуть поменял (по форме, а не сути), что бы понятнее

Код

$r = '/<div style=(.*?)&amp;height=/is';
$url = 'http://sait.ru/';
$text = file_get_contents($url);
if (preg_match($r, $text, $content)==0) {
  $url ='http://sait2.ru/';
  $text = file_get_contents($url);
  preg_match($r, $text, $content);
}
if (!empty($content))
  echo $content[1];


Добавлено через 14 минут и 22 секунды
можно в более общем виде
Код

$r = '/<div style=(.*?)&amp;height=/is';
$urls = ['http://sait.ru/','http://sait2.ru/'];
foreach ($urls as $url) {
  $text = file_get_contents($url);
  if (preg_match($r, $text, $content)>0) {
    echo $content[1];
    break;
  }
}



Это сообщение отредактировал(а) baldina - 3.12.2014, 18:53
PM MAIL   Вверх
baldina
Дата 3.12.2014, 19:07 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



а, вам же значение $url нужно, тогда
Код

$r = '/<div style=(.*?)&amp;height=/is';
$urls = ['http://sait.ru/','http://sait2.ru/'];
$url='';
foreach ($urls as $u) {
  $text = file_get_contents($u);
  if (preg_match($r, $text, $content)>0) {
    $url=$u;
    break;
  }
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0434 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.