Как уберечь PHP от удаления XML-тегов при отображении строки

1

Я выполняю внешнюю команду в PHP через exec, и я беру этот вывод (который является массивом), а затем получаю отдельные строки для поиска определенных строк. Затем я хочу повторить эти строки на экране. Тем не менее, некоторые из этих строк содержат примеры XML, и их разделяют. Как я могу удержать PHP от удаления XML? Я использую PHP 5.6.2.

Например, я пытаюсь выполнить echo $ val, который имеет следующий результат:

Missing test tag.  Please add the test tag and set it to true.  i.e. <data><test>true</test></data>.

Но вместо этого я получаю следующее:

Missing test tag. Please add the test tag and set it to true. i.e. true.

Как вы можете видеть, теги "data" и "test" xml теряются.

  • 0
    Щелкните правой кнопкой мыши. Просмотр страницы источника. Плакать.
  • 0
    Определите «экран». Я подозреваю, что вы имеете в виду в окне браузера, что означает, что он будет обрабатывать вывод как HTML (сортировка). В этом случае ответ @Mureinik является одним из решений - поскольку теги интерпретируются как разметка, они не будут видны, а htmlentities преобразует их в видимые символы. Другой вариант - установить другой заголовок Content-Type (например, text/plain ).
Показать ещё 1 комментарий
Теги:
php-5.6

1 ответ

4
Лучший ответ

Вы можете преобразовать их в htmlentities:

$str = 'Missing test tag.  Please add the test tag and set it to true.  i.e. <data><test>true</test></data>.';
echo htmlentities($str, ENT_XHTML);
  • 0
    Если вы отредактируете свой ответ, чтобы объяснить, почему они хотят использовать htmlentities, я буду рад ответить.
  • 0
    Работал. В частности, я добавил «echo htmlentities ($ val, ENT_XML1)»;
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню