Цитаты из BashOrg: различия между версиями
Материал из MajorDoMo инфо
Neonov (обсуждение | вклад) (Новая страница: «Получение цитат с [https://ru.wikipedia.org/wiki/Bash.im сервиса Bash.org] <pre> $filename = "/var/www/bashorg/bash.xml"; //где буде...») |
Neonov (обсуждение | вклад) (→Код) |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 1: | Строка 1: | ||
[[Category:Юзеркейсы]] | |||
==Описание== | |||
Получение цитат с [https://ru.wikipedia.org/wiki/Bash.im сервиса Bash.org] | Получение цитат с [https://ru.wikipedia.org/wiki/Bash.im сервиса Bash.org] | ||
==Код== | |||
<pre> | <pre> | ||
$filename = "/var/www/bashorg/bash.xml"; //где будет находиться наш файл с цитатами башорга | $filename = "/var/www/bashorg/bash.xml"; //где будет находиться наш файл с цитатами башорга | ||
Строка 12: | Строка 15: | ||
$xml = simplexml_load_string($content); | $xml = simplexml_load_string($content); | ||
foreach ($xml->channel->item[rand (0, count($xml->channel->item))]->children() as $items) ;//выбираем случайную запись из rss | foreach ($xml->channel->item[rand (0, count($xml->channel->item))]->children() as $items) ;//выбираем случайную запись из rss | ||
//$ | //$items = iconv("windows-1251","UTF-8", $items); //конвертируем при необходимости кодировку | ||
$items = str_replace ("<br><br>", "\n", $items);//убираем ненужный двойной перевод строки | $items = str_replace ("<br><br>", "\n", $items);//убираем ненужный двойной перевод строки | ||
$items = str_replace("<br>", "\n",$items); | $items = str_replace("<br>", "\n",$items); |
Текущая версия от 09:45, 16 января 2020
Описание
Получение цитат с сервиса Bash.org
Код
$filename = "/var/www/bashorg/bash.xml"; //где будет находиться наш файл с цитатами башорга $site_path = "https://bash.im/rss/";//откуда берем цитаты if (!file_exists($filename) or (time() > filemtime($filename) + 60*60*1) ) {//1ч. время жизни нашего файла get_content($site_path);//если файла нет, или он старее 1 часа, получаем новый } // Cоздание объекта SIMPLEXML и загрузка документа $content = join ("", file($filename)); // CSоздание объекта SIMPLEXML и загрузка документа $xml = simplexml_load_string($content); foreach ($xml->channel->item[rand (0, count($xml->channel->item))]->children() as $items) ;//выбираем случайную запись из rss //$items = iconv("windows-1251","UTF-8", $items); //конвертируем при необходимости кодировку $items = str_replace ("<br><br>", "\n", $items);//убираем ненужный двойной перевод строки $items = str_replace("<br>", "\n",$items); $items = str_replace(""", "'",$items); $items = str_replace("<", "'",$items); $items = str_replace(">", "'",$items); sg('bash.text',$items); //выводим цитату в свойство text объекта bash function get_content($site_path) //функция загрузки файла, не идеал, но работает { //загружаем $fd = fopen($site_path, "r"); $text=""; if (!$fd) echo "Запрашиваемая страница не найдена"; else { // Чтение содержимого файла в переменную $text while (!feof ($fd)) $text .= fgets($fd, 4096); $fp = fopen("/var/www/bashorg/bash.xml", "w"); fwrite($fp, $text); fclose ($fp); } fclose ($fd); return true; }