Вывод информации на своем сайте из чужого
Всем привет.
Помогите реализовать такую штуку, граббер определенного куска кода из чужого сайта 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, время: 02:22. |