Позволяет htmlspecialchars отображать символы UTF-8, в то же время экранируя обычные теги

Я использую htmlspecialchars, чтобы избежать пользовательского ввода, отображаемого на странице (чтобы пользовательский ввод If you want bold text, wrap it around a <b> tag like <b>this</b> на самом деле, вместо того, чтобы интерпретировать <b> в качестве фактического HTML и жирным шрифтом tag like this текст.

htmlspecialchars прекрасно работает здесь, но, похоже, неправильно отображает символы UTF8 как числовой код htmlentity. Например. вид неодобрения ಠ_ಠ отображается как &#3232;_&#3232; после прохождения функции.

Что я должен сделать, чтобы правильно избежать обычного html, но при этом разрешить пользователям использовать специальные символы UTF8?

1

Решение

Вы установили правильную кодировку?

Возможно ли, чтобы символы utf8 были преобразованы в нотацию ಠ? Если вы снова вызовете htmlspecialchars для этой строки, & становится & и, следовательно, больше не является кодом utf8, это можно предотвратить, установив для параметра двойного кодирования значение false. Смотрите документацию на php.net:

http://php.net/htmlspecialchars

0

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

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

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