[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Местами ошибка в preg_match
Страницы: 1, 2, 3
Gigabit
Люди всем привет! вопрос вот код

$url = ('http://bumaga-s.ru/товар/Грамота_Грамота_210_297_9-02-494А?ajax=1');
$url = urldecode($url);
$content = file_get_contents($url);
preg_match('/<div>производитель:(.*?)<\/div>/si', $content, $m1);
preg_match('/<ul class="productDescription">(.*?)<\/ul>/si', $content, $m);
preg_match('/<div>артикул:(.*?)<\/div>/si', $content, $m2);

echo $m[0].'<br />';
echo $m1[1].'<br />';
echo $m2[0].'<br />';






Все работает НОРМАЛЬНО, но вот допустим
в переменную вставить другую ссылку вот например эту

http://bumaga-s.ru/товар/Лазер_диск_VS_CD-...x_25_шт_?ajax=1

то выводит эту ошибку

Warning: file_get_contents(http://bumaga-s.ru/товар/Лазер_диск_VS_CD-RW_700МБ_4-12x__Cake_box_25_шт_?ajax=1) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in J:\home\kassa.loc\www\traide\code\message.php on line 132


в чем МОЖЕТ БЫТЬ ПРОБЛЕМА???
Gigabit
что же вы молчите ребята!((((
BaNru
Может потому что перейдя по этой ссылке выдает ошибку "404 Not Found", о которой прямым текстом тебя и оповестили?
Gigabit
Сорри моя ошибка ссылка рабочая, вот например эта

[URL=http://bumaga-s.ru/%D1%82%D0%BE%D0%B2%D0%B0%D1%80/%D0%9A%D0%B0%D1%80%D0%B0%D0%BD%D0%B4%D0%B0%D1%88_%D0%BC%D0%B5%D1%85_0_5_%D0%BF%D0%BB%D0%B0%D1%81%D1%82_%D0%BA%D0%BE%D1%80%D0%BF_%D1%80%D0%B5%D0%B7_%D1%83%D0%BF%D0%BE%D1%80_%D1%81_%D0%BB%D0%B0%D1%81%D1%82_WZ-101-0_5?ajax=1[/URL]
Gigabit
ссылки рабочие я переходил но вот почему то ошибку выводит, в каких случаях выводит такую ошибку?
Zzepish
проверь через echo file_get_contents(твоя ссылка);
AllesKlar
Цитата (Gigabit @ 16.04.2014 - 02:14)
Сорри моя ошибка ссылка рабочая, вот например эта

[URL=http://bumaga-s.ru/%D1%82%D0%BE%D0%B2%D0%B0%D1%80/%D0%9A%D0%B0%D1%80%D0%B0%D0%BD%D0%B4%D0%B0%D1%88_%D0%BC%D0%B5%D1%85_0_5_%D0%BF%D0%BB%D0%B0%D1%81%D1%82_%D0%BA%D0%BE%D1%80%D0%BF_%D1%80%D0%B5%D0%B7_%D1%83%D0%BF%D0%BE%D1%80_%D1%81_%D0%BB%D0%B0%D1%81%D1%82_WZ-101-0_5?ajax=1[/URL]

Не рабочая.
404

Поэтому и ошибка.

_____________
[продано копирайтерам]
Gigabit
Проверял в некоторых ссылках выводит контент страницы а в некоторых тужу ошибку хотя если перейти по этой ссылке все работает

рабочая ссылка http://bumaga-s.ru/%D1%82%D0%BE%D0%B2%D0%B...B5%D0%B1?ajax=1


не рабочая http://bumaga-s.ru/%D1%82%D0%BE%D0%B2%D0%B...8%D1%82_?ajax=1
Gigabit
Имеется ввиду не рабочая ссылка в функции, а так ссылка работает.
Gigabit
Цитата (AllesKlar @ 15.04.2014 - 22:28)
Цитата (Gigabit @ 16.04.2014 - 02:14)
Сорри моя ошибка ссылка рабочая, вот например эта

[URL=http://bumaga-s.ru/%D1%82%D0%BE%D0%B2%D0%B0%D1%80/%D0%9A%D0%B0%D1%80%D0%B0%D0%BD%D0%B4%D0%B0%D1%88_%D0%BC%D0%B5%D1%85_0_5_%D0%BF%D0%BB%D0%B0%D1%81%D1%82_%D0%BA%D0%BE%D1%80%D0%BF_%D1%80%D0%B5%D0%B7_%D1%83%D0%BF%D0%BE%D1%80_%D1%81_%D0%BB%D0%B0%D1%81%D1%82_WZ-101-0_5?ajax=1[/URL]

Не рабочая.
404

Поэтому и ошибка.

Как не рабочая??? Я сам вот прямо с сообщения открываю и у меня открывает
BaNru
Цитата (Gigabit @ 16.04.2014 - 02:36)
не рабочая http://bumaga-s.ru/%D1%82%D0%BE%D0%B2%D0%B...8%D1%82_?ajax=1

Да, ты прав. Не рабочая biggrin.gif
Gigabit
Цитата (BaNru @ 16.04.2014 - 05:41)
Цитата (Gigabit @ 16.04.2014 - 02:36)
не рабочая http://bumaga-s.ru/%D1%82%D0%BE%D0%B2%D0%B...8%D1%82_?ajax=1

Да, ты прав. Не рабочая biggrin.gif

Я имел ввиду если вставить эту ссылку в скрипт то выводит ошибку
Gigabit
Не кто не знает ответа?(((((((((((((((
Gigabit
Ну вот все по умничали, ссылка рабочая или нет а по сути ничего не кто не ответил((((((((((
AllesKlar
Так тебе все и ответили. Ты в функцию передаешь нерабочие ссылки.
Тебе и выкидывает ошибку
failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found

----------------
Вот это не правильно.
 $url = ('http://bumaga-s.ru/товар/Грамота_Грамота_210_297_9-02-494А?ajax=1');
$url = urldecode($url);

выведи теперь echo $url;
Что там? А там все слеши, знак равенства и вопросительный занк перекодированы.
ты тем самым убил ссылку.
Кодировать нужно только параметры. И кодировать не urldecode(), а urlencode()

 //'http://bumaga-s.ru/товар/Грамота_Грамота_210_297_9-02-494А?ajax=1'
$url = 'http://bumaga-s.ru/'. urlencode('товар') . '/' . urlencode('Грамота_Грамота_210_297_9-02-494А') . '?ajax=1';
echo file_get_contents($url);


Как разбить ссылку на параметры, уже сам сделаешь.

_____________
[продано копирайтерам]
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.