Дата публикации
13.04.2020
Просмотров:
12050
Поделиться

Часто бывает необходимым добавить к себе на сайт какую-то динамическую информацию с другого источника (погодные виджеты, котировки валют и т.п.). Я лично думал, что для этой цели потребуется глубокое знание 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»>’ — заменить на фрагмент кода, откуда начинается необходимый контент
‘</<?

    $content = file_get_contents('http://my-site.ru/file.php');
    echo $content;

?>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 далеко не знаток, но у меня все получилось. Надеюсь, что и у вас пройдет все без проблем




Сопутствующие товары

Домены