PHP, как удалить специальные символы HTML для строки?

0

Я пытаюсь сформировать HTML в моем PHP-коде, что-то вроде этого:

$output .= '<div>'.$text.'</div>;

echo $output;

однако, я нашел, что $ text может содержать некоторые html-символы, такие как >, <, ', " и т.д.... и это сделает окончательный html поврежденным.

Я думал удалить > < ' " из текста, но, возможно, есть больше символов, которые я должен удалить? И какой лучший способ это сделать?

  • 1
    Я думаю, вам нужно научиться учиться.
  • 1
    не суди, прежде чем знать что-то достаточно глубокое
Показать ещё 1 комментарий
Теги:

1 ответ

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

Функция PHP htmlspecialchars - ваш друг.

Я привел пример из php.net ниже, чтобы показать, как это работает:

<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;
?>

NB При чтении страниц php.net найдите время, чтобы просмотреть комментарии любых функций/классов, которые вы, возможно, собираетесь использовать, поскольку они часто содержат примеры проблем, которые могут возникнуть в реальном мире.

Однако я не совсем уверен, что вы должны были задать этот вопрос, потому что быстрый Google вернет результаты, которые вы ищете. Если вы видите результаты StackOverflow или PHP.net, которые выглядят по теме, тогда они заслуживают внимания, прежде чем отправлять вопрос, который, возможно, был задан раньше.

  • 0
    да, прежде чем я спросил, я уже гуглил и обнаружил, что htmlspecialchars должен быть тем, который мне нужен. Я думаю, что недостаточно уточнил свой вопрос. Но в любом случае, спасибо за ответ и информацию.
  • 0
    Стандартный набор символов, переведенный htmlspecialchars, должен быть достаточным - вам вряд ли понадобятся дополнительные.

Ещё вопросы

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