Перейти к публикации

Замена текста в заголовке rss информера


Рекомендованные сообщения

Всем привет.

 

У меня есть rss-лента с погодой, которую хотелось бы вывести на сайте, но при этом заменить в заголовке слово "Черняховск" на "Гусев". Это маленькие два городка на расстоянии друг от друга 20 км и метеовышка находится между ними, но сервисы погоды часто город Гусев не указывают, так как он меньше.

 

В общем хотелось на сайте вывести данные из этой rss-ленты, но в заголовке сделать замену "Черняховск" на "Гусев".

https://meteoinfo.ru/rss/forecasts/index.php?s=26711

 

При помощи такого js скрипта это сделать получается

<script>
$(document).ready(function(){
    $(".pog_gusev").text(function(index, text) {
    return text.replace("Черняховск", "Гусев");
    });
});
</script>

 

Но дело в том, что скрипты подгружается после загрузки страницы и замена происходит уже визуально. Да и в исходном коде страницы указано первое значение.

 

Подскажите, как можно решить эту проблему при помощи PHP?

 

Подозреваю, что в файле rssinform.php надо где-то прописать что-то подобное. Ну вот конкретно где и как, не знаю.

str_replace("Черняховск", "Гусев", $title);

 

Заранее признателен всем за подсказку.

Ссылка на сообщение
Поделиться на других сайтах

 

1 час назад, radrigo сказал:

Подозреваю, что в файле rssinform.php надо где-то прописать что-то подобное. Ну вот конкретно где и как, не знаю.

верно подозреваешь, только код информера то покажи

Ссылка на сообщение
Поделиться на других сайтах
16 минут назад, alex32 сказал:

 

верно подозреваешь, только код информера то покажи

Код файла informer.tpl такой

<h6 class="pog_gusev">{title}</h6><br>{news}.<br><br>

 

Скриншот с настройками информера

82de43d3a5d7.png

 

Это ссылка на страницу
https://gusev-online.ru/test.html

 

Больше не знаю что показать

Ссылка на сообщение
Поделиться на других сайтах

engine/modules/rssinform.php перед

 

$tpl->set( '{title}', $content['title'] );

вставь 

if( $value['id'] == ID_твоего_информера )  $content['title'] = str_replace("Черняховск", "Гусев",  $content['title']);

и очисти кэш из админки

Ссылка на сообщение
Поделиться на других сайтах
14 минут назад, alex32 сказал:

engine/modules/rssinform.php перед

 


$tpl->set( '{title}', $content['title'] );

вставь 


if( $value['id'] == ID_твоего_информера )  $content['title'] = str_replace("Черняховск", "Гусев",  $content['title']);

и очисти кэш из админки

Спасибо. Получилось)

ID информера взял из базы данных, это целое число. Я правильно понял?

Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, radrigo сказал:

ID информера взял из базы данных, это целое число. Я правильно понял?

Да, все верно. Правда,  можно было зайти в редактирование информера, как на твоем скрине, и в адресной строке id посмотреть :) 

Ссылка на сообщение
Поделиться на других сайтах
13 часов назад, alex32 сказал:

Да, все верно. Правда,  можно было зайти в редактирование информера, как на твоем скрине, и в адресной строке id посмотреть :) 

Подскажите ещё.
Если допустим я хочу сделать ещё и несколько замен в самом тексте. Так будет правильно если перед

$tpl->set( '{title}', $content['title'] );

вставлю

if( $value['id'] == 14 )  $content['title'] = str_replace("Черняховск", "Гусев",  $content['title']);
if( $value['id'] == 14 )  $content['description'] = str_replace([" Температура", " Ветер", " Атмосферное", "Вероятность осадков"], ["<br>Температура", "<br>Ветер", "<br>Атмосферное", "<br>Вероятность осадков"],  $content['description']);

Может правильнее будет вставить такой код?

if( $value['id'] == 14 )  $content['title'] = str_replace("Черняховск", "Гусев",  $content['title']);
$tekpogoda = array(" Температура", " Ветер", " Атмосферное", "Вероятность осадков");
$zampogoda = array("<br>Температура", "<br>Ветер", "<br>Атмосферное", "<br>Вероятность осадков");
if( $value['id'] == 14 )  $content['description'] = str_replace($tekpogoda, $zampogoda, $content['description']);

 

Работают оба варианта. И оба варианты правильны?

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, radrigo сказал:

Работают оба варианта. И оба варианты правильны?

Вообще никакой разницы. Разве что первый будет потреблять чуть меньше памяти, но это настолько мизерная разница, что роли никакой не играет. Делайте как вам удобнее, например удобнее править.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...