Часто бывает необходимым добавить к себе на сайт какую-то динамическую информацию с другого источника (погодные виджеты, котировки валют и т.п.). Я лично думал, что для этой цели потребуется глубокое знание php. Однако на каком-то источнике (к сожалению, не помню сайт) нашел отличный способ, состоящий из нескольких строк кода. Для понимания этого кода глубоких знаний php вам не нужно. Достаточно подставить свои данные и на вашем сайте появится информация из другого источника. Создаем в корне сайта файл с произвольным названием, например, file.php и добавляем в него следующий php-код:
<?php // с кодировкой возможны проблемы, поэтому если вдруг появятся каркозябры, попробуйте добавить следующую строчку кода header('Content-Type: text/html; charset=windows-1251'); // сторонняя страница сайта, с которой будем брать контент. $content = file_get_contents('http://site.ru/page'); // определяем начало необходимого фрагмента кода, до которого мы удалим весь контент $pos = strpos($content, '<div class="start"><span class="needed-text">'); // удаляем все до нужного фрагмента $content = substr($content, $pos); // находим конец необходимого фрагмента кода $pos = strpos($content, '</span></div>'); // отрезаем нужное количество символов от конца фрагмента $content = substr($content, 0, $pos); //если в нужном контенте встречается не нужный кусок текста, то его вырезаем $content = str_replace('текст, который нужно вырезать','', $content); // выводим необходимый контент echo $content; ?>
Вместо:
‘http://site.ru/page’ — страница сайта, откуда нужно взять контент
‘<div class=»start»><span class=»needed-text»>’ — заменить на фрагмент кода, откуда начинается необходимый контент
‘</span></div>’ — заменить на фрагмент кода, где заканчивается нужный контент
Например, если нужный контент лежит в конструкции <div class=»start»><span class=»needed-text»>, а заканчивается фрагмент конструкцией </span></div>, то вставляем в наш php-код эти значения, соответственно.
В адресной строке браузера запускаем данный файл (http://my-site.ru/file.php) и если все сделано правильно, на странице будет выведен контент со стороннего сайта.
Для того, чтобы добавить этот контент на внутреннюю страницу нашего сайта, то добавляем в нее (внутреннюю страницу) следующий код:
<? $content = file_get_contents('http://my-site.ru/file.php'); echo $content; ?>
Я в php далеко не знаток, но у меня все получилось. Надеюсь, что и у вас пройдет все без проблем. Спасибо за материал «Блого-дарю».