bash — не могу передать переменную из php в exec

У меня есть некоторый код PHP, который получает содержимое от "php://input",

if (!isset($HTTP_RAW_POST_DATA)) {
$HTTP_RAW_POST_DATA = file_get_contents("php://input");

Теперь я пытаюсь удалить XML теги от $HTTP_RAW_POST_DATA используя sed, вот так:

exec("/usr/bin/sed -e 's/\<3\>//g' -e 's/\<\/3\>//g' $HTTP_RAW_POST_DATA");

Затем я пытаюсь повторить $HTTP_RAW_POST_DATA как это:

echo("$HTTP_RAW_POST_DATA");

Но это все еще возвращает это с <3> а также </3>, Похоже, что sed не может прочитать переменную.

Что я могу сделать, чтобы это исправить? Я не получаю сообщений об ошибках.

1

Решение

Просто используйте strip_tags () — http://php.net/manual/en/function.strip-tags.php — делает именно то, что вы хотите, чтобы sed делал без ужасных последствий для безопасности.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]