Содержание
PunBB.INFO → PHP / SQL → Функция — как закрыть незакрытые HTML теги
You must login or register to post a reply
Posts: 2
1 Topic by PunBB 2015.06.01 17:43
- PunBB
- Admin
- Offline
- More info
Topic: Функция — как закрыть незакрытые HTML теги
Все знают, что в административной панели сайта хорошо править контент страниц в визуальном редакторе, который имеет название WYSIWYG. Вот и наш редактор как-то странно себя начал вести, перестал закрывать HTML теги (не все, а те, которые ему хочется).
Т.к. JS программист в это время был в отпуске нужно было срочно исправить проблему. Пришлось вставлять костыль в виде скрипта на PHP, которые будет автоматом закрыть все незакрытые теги.
Когда вы принимаете данные от пользователей, через ту же форму обратной связи, есть смысл обрабатывать передаваемые от них данные и получать на выходе чистый текст.
Как это можно сделать разными способами, я сейчас расскажу.
Как удалить все HTML-теги из строки на PHP?
В PHP существует функция под названием «strip_tags». С помощью нее можно быстро и просто удалить все HTML- теги из переменной.
Если же вы хотите сохранить некоторые теги от удаления, пропишите их сразу после переменной, например, так:
В таком случае мы сохраняем теги
и . У тегов, имеющих закрывающий тег, прописывать при сохранении его не нужно.
Обратите внимание, функция не проверяет HTML-разметку на валидность, и если есть незакрытые теги, то вы рискуете потерять обычный текст.
Как удалить все HTML-теги из строки на JavaScript?
В JavaScript мы напишем свою небольшую функцию, с помощью которой в последующем и будем обрабатывать полученные данные.
Этот пример работает на конкретной заданной переменной, вы же можете переделать его под полученное содержимое, например, из поля input.
Функция позволяет закрыть незакрытые HTML-тэги.
Автор не я. Кто написал не помню…
Комментарии RSS по email OK
а насколько правильно он закрывает теги?
Николай
Имхо, баловство это. Для XML бы еще прокатило, но для HTML, с его неявным закрытием "пэшек" перед любым блочным тегом и т.п., это мало что меняет. Да и зачем так изворачиваться, когда есть Tidy?
Кстати, список одиночных тегов неполон — как минимум, есть еще INPUT, HR, COL, PARAM и BASE.
SelenIT
Решение конечно же для закрытия XHTML. Использовано как раз было из-за отсутствия Tidy.
Список одиночных действительно неполон. Добавлю.
Спасибо, как нельзя кстати. Как раз собирался писать такую функцию
Функция позволяет не только закрыть все открытые теги, но и открыть все закрытые которые могут образоваться после вырезания участка кода XHTML из произвольного места.
Тоже не помню где подсмотрел
В регулярке некорректно обработаны обратные слэши, автору скрипта низачод)