Запретить размещение HTML в поле формы textarea - PullRequest
0 голосов
/ 02 октября 2011

У меня есть текстовая область, где пользователь может определить сообщение. Это поле должно разрешать BBCODE, но не HTML.

В настоящее время HTML разрешен, но не должен быть.

Как я могу запретить использование тегов HTML пользователем?

Ответы [ 2 ]

5 голосов
/ 02 октября 2011

Здесь есть два основных варианта.Вы можете либо экранировать HTML-код, поэтому он рассматривается как обычный текст, либо вы можете удалить его.Любой способ безопасен, но обычно побег - это то, что ожидают пользователи.

Чтобы сбежать, используйте htmlspecialchars() [ docs ] на входе перед обработкой bbcode.

echo htmlspecialchars("<b>Hello [i]world![/i]</b>")
&lt;b&gt;Hello [i]world![/i]&lt;/b&gt;

Чтобы полностью удалить теги HTML, используйте strip_tags() [ документы ] вместо:

echo strip_tags("<b>Hello [i]world![/i]</b>")
Hello [i]world![/i]
1 голос
/ 02 октября 2011

Я думаю, вы должны использовать strip_tags(), он уберет HTML-теги и сохранит текст, но оставит BBcode.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...