2015-10-08 2 views
1

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

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

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. 

Как вы можете видеть, «данные »и« test »xml-теги становятся раздетыми.

+0

правой кнопкой мыши. Просмотр источника страницы. Плакать. – Ghedipunk

+0

Определите «экран». Я подозреваю, что вы имеете в виду окно браузера, что означает, что он будет обрабатывать вывод как HTML (sorta). В этом случае ответ @Mureinik является одним из решений - поскольку теги интерпретируются как разметка, они не будут видны, а 'htmlentities' преобразует их в видимые символы. Другой вариант - установить другой заголовок 'Content-Type' (например,' text/plain'). –

+0

Или попробуйте выполнить свой скрипт из командной строки следующим образом: 'php script.php'. –

ответ

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, я буду рад поддержать его. – Ghedipunk

+0

Работал. В частности, я добавил «echo htmlentities ($ val, ENT_XML1)»; – user2643864

+0

@ user2643864 Хорошая точка, добавлено. – Mureinik

 Смежные вопросы

  • Нет связанных вопросов^_^