Вывод информации на своем сайте из чужого
Всем привет.
Помогите реализовать такую штуку, граббер определенного куска кода из чужого сайта http://rockstargame.ru/faq/oshibka-i...agruzit-fajly/. А точнее вот эти блоки ![]() Вот пробовал на PHP, а оно не работает( <? $text =file_get_contents("https://support.rockstargames.com/hc/en-us/articles/200426246-GTA-Online-Server-Status-Latest-Updates"); $data = array(); preg_match('|<div id="statusPanel">(.*)</div>|Uis', $text, $out); print "$out" ?> Заранее благодарен! |
Значит нет такого элемента или не соответствует рег. выражение.
|
Цитата:
|
Во-первых print_r("$out");, ибо возвращается массив.
Во-вторых именно найденное будет содержать только содержимое тега, как определено руг. выражением, но только в случае если и тег есть, и рег. выражение соответствует, и тег имеет содержимое. Проверяйте: $s = '<div id="statusPanel">text</div>'; preg_match('#<div id="statusPanel">(.+)<\/div>#Uis', $s, $out); print_r($out); //найдено //а вот так уже не прокатит, ибо атрибуты тега не соответствуют шаблону $s = '<div id="statusPanel" class="name">text</div>'; preg_match('#<div id="statusPanel">(.+)<\/div>#Uis', $s, $out); print_r($out); |
В таких случаях помогает phpQuery. очень простая библиотека, но пригодится не раз.
не заморачивая сделаете типа такого $content = file_get_content(); $phpQuery = new phpQuery(); $div = phpQuery.content($content).find('#id'); и получите нужное содержимое, не заморачиваяс с регулярками П.С. код будет не такой, тут только демонстрация. |
Цитата:
|
Часовой пояс GMT +3, время: 18:56. |