Я пытаюсь сформировать HTML в моем PHP-коде, что-то вроде этого:
$output .= '<div>'.$text.'</div>;
echo $output;
однако, я нашел, что $ text может содержать некоторые html-символы, такие как >
, <
, '
, "
и т.д.... и это сделает окончательный html поврежденным.
Я думал удалить > < ' "
из текста, но, возможно, есть больше символов, которые я должен удалить? И какой лучший способ это сделать?
Функция PHP htmlspecialchars - ваш друг.
Я привел пример из php.net ниже, чтобы показать, как это работает:
<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // <a href='test'>Test</a>
?>
NB При чтении страниц php.net найдите время, чтобы просмотреть комментарии любых функций/классов, которые вы, возможно, собираетесь использовать, поскольку они часто содержат примеры проблем, которые могут возникнуть в реальном мире.
Однако я не совсем уверен, что вы должны были задать этот вопрос, потому что быстрый Google вернет результаты, которые вы ищете. Если вы видите результаты StackOverflow или PHP.net, которые выглядят по теме, тогда они заслуживают внимания, прежде чем отправлять вопрос, который, возможно, был задан раньше.