У меня возникла проблема с символом Â на моем сайте.PHP: html_entity_decode удаление/не отображение символа
У меня есть веб-сайт, где пользователи могут использовать редактор wysiwyg (ckeditor) для заполнения своего профиля. Содержимое запускается через htmlpurify перед тем, как быть помещенным в базу данных (по соображениям безопасности).
В базе данных есть все настройки таблиц с кодировкой UTF-8. Я также называю «SET NAMES utf-8» в начале выполнения скрипта для предотвращения проблем (которые работали годами, поскольку у меня не было этой проблемы в течение длительного времени). Веб-страница, на которой отображается текст, имеет тип utf-8 содержимого, и я также использую функцию header() для установки типа контента и кодировки.
При отображении текста все казалось прекрасным, пока я не попытался использовать регулярное выражение для содержимого. html_entity_decode (вызываемый с параметром encoding для «utf-8») по какой-либо причине удаляет/не показывает символ Â, и он оставляет позади что-то, из-за чего все мои регулярные выражения терпят неудачу (кажется, там есть символ, но я не могу просмотрите его в источнике).
Как предотвратить и/или удалить этот символ, чтобы я мог запускать регулярное выражение?
EDIT: Я решил отказаться от ckeditor и пойти с форматом уценки, как этот сайт использует для большей гибкости. Я ненавидел редакторов wysiwyg до тех пор, пока я помню. Обновление всех профилей в новом формате даст мне возможность удалить все нарушающие текст и дать сайту чистый старт. Спасибо за все входные данные.
что регулярное выражение делает? –
Удаляет пустые теги абзаца. По какой-то причине пользователям нравится добавлять лишние строки при редактировании, что делает веб-сайт ужасным. Он должен удалять теги абзаца только с пробелами и/или nbsp; организация. Пример: http://dev.lovewichita.org/church/profile/25.html – kkeith29
+1 для помощи церкви вне – ANisus