Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не работает простая регулярка

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
event
Отправлено: 12 Января, 2016 - 13:11:08
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. $page = file_get_contents("http://www.3dnews.ru/926439");
  2.  
  3. preg_match('#<div class="([^<]+)" itemprop="articleBody">([^<]+)</div>#', $page, $descr);
  4.  
  5. var_dump($descr);


Есть такой код, но почему-то не работает (не парсится)... В чем проблема?
 
 Top
Viper
Отправлено: 12 Января, 2016 - 14:03:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Проще через xpath с правилами по атрибутам microdata.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Faraon-san
Отправлено: 12 Января, 2016 - 14:24:56
Post Id



Посетитель


Покинул форум
Сообщений всего: 318
Дата рег-ции: Сент. 2013  


Помог: 8 раз(а)




тут надо использовать инструменты по работе с dom элементами.
или попробуй phpQuery.
 
 Top
google_funny
Отправлено: 12 Января, 2016 - 21:12:29
Post Id


Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Дек. 2015  


Помог: 0 раз(а)




event
Уже работает!
Сейчас я тебе помогу, мой друг.. дай взглянуть..

вот твое рег. выражение.. рабочее)
PHP:
скопировать код в буфер обмена
  1. $regex = '`<div[\s\w="\'-]+itemprop=["\']articleBody["\']>(.*?)<\/div>[\s\n\r]+<div\s+class=["\']entry-meta content-block-header["\']>`is'


А это нормальная CURL функция для получения контента.. рекомендую использовать именно ее в коде.. чтобы было так..
PHP:
скопировать код в буфер обмена
  1.  
  2. $_html = _cURL('http://www.3dnews.ru/926439');
  3. $html = $_html['content'];
  4. preg_match($regex, $html, $descr);
  5.  
  6.  


Это сама функция, что использую в предыдущем коде. Почему? Потому-что... универсальная, получает сжатый контент, эмитирует просмотр страницы через браузер, а не через PHP код, получает подробную информацию о потоке, легка в отладке..
Спойлер (Отобразить)

(Отредактировано автором: 13 Января, 2016 - 03:21:16)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB