@pavelzabavin

Как избавиться от ненужных символов на сайте, которые выводит php-скрипт?

Большой привет всем тем, кто неравнодушен к языку php!

Небольшая вводная. Решил заняться созданием интернет-станции для пользователей по определенным интересам, и уже сайт практически на html сделал, но с «выводом текущей песни на сайт» немного не получается.

Подробнее. IceCast-сервер формирует вывод песни в одну строку в файл назовём его current.xml. Далее по моей логике в работу включается php-файл, который должен обратиться к файлу current.xml, извлечь нужную строку, запомнить её и далее направить на html-сайт, на котором при помощи JS инициируется обращение к php-файлу. В результате мы получим вывод песни без перезагрузки страницы.

К трудностям. Картинки прилагаются.

Php-скрипт выглядит следующим образом:

<?php
$song=file_get_contents(‘ссылка на получение данных от XML’);
File_put_contents(‘./icemeta.txt’, $song);

$output = shell_exec(‘sed -n 2p ./icemeta.txt’);
Echo “$output”;
?>


XML-строка выглядит следующим образом: G-Eazy, Halsey - Him & I

На сайт информация направляется следующим образом:

<div class="meta-info">
<div class="label">Сейчас в эфире:</div>
<div id="artist">&nbsp; </div>
<div id="song">&nbsp; </div>
</div>


А по факту выглядит вот так: 5f7e270f3c5f7238087682.png

И ещё попался вот такой вывод песни: David Guetta feat. Sia &amp; Fetty Wap. Как убрать amp;?

Буду крайне признателен, если кто-нибудь поможет адаптировать код. Возможно, можно было бы поступить как-то проще, но пользовался только теми знаниями, которые у меня есть. Заранее спасибо!
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
@FanatPHP
Чебуратор тега PHP
Чтобы избавиться от ненужных символов на сайте, надо избавиться от бессмысленных телодвижений в своём коде.

Я уж не знаю, какой клоун подсказал тебе делать shell_exec(‘sed -n 2p ./icemeta.txt’); (что само по себе уже дичь, независимо от решаемой задачи), но XML надо читать нормально, а не вырезать из него строчки через спину автогеном.

Вообще запомни простое правило - для каждого специального формата в РНР есть специальные средства работы с ним. И надо всегда использовать только их. Иначе твои "ненужные симолы" покажутся безобидным баловством на фоне других проблем.

В данном случае вместо всего этого винегрета надо использовать simplexml_load_file(), и дальше рабтать с полученным объектом.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
coderisimo
@coderisimo
echo htmlspecialchars_decode('David Guetta feat. Sia &amp; Fetty Wap') ;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
RecruitIT Москва
от 100 000 до 160 000 ₽
Сбер Москва
До 240 000 ₽
RecruitIT Москва
от 120 000 до 150 000 ₽
27 окт. 2020, в 15:42
1000 руб./в час
27 окт. 2020, в 15:30
100000 руб./за проект
27 окт. 2020, в 15:28
100000 руб./за проект