Html удаление незакрытых тегов
Компьютеры admin 0 комментариев
Содержание
- 1 Posts: 2
- 1.1 1 Topic by PunBB 2015.06.01 17:43
- 1.1.1 Topic: Функция — как закрыть незакрытые HTML теги
- 1.1 1 Topic by PunBB 2015.06.01 17:43
- 2 Как удалить все HTML-теги из строки на PHP?
- 3 Как удалить все HTML-теги из строки на JavaScript?
- 3.1 Комментарии RSS по email OK
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 из произвольного места.
Тоже не помню где подсмотрел
В регулярке некорректно обработаны обратные слэши, автору скрипта низачод)
Как удалить текст разрешенных тегов HTML после полей формы комментариев
Одной из первых вещей, которые я заметил при преобразовании моей дочерней темы Genesis с XHTML на HTML 5, были изменения в форме комментариев. По умолчанию WordPress включает разрешенные теги формы комментариев в исходный код.
Проблема, которую я обнаружил с этими тегами, заключается в том, что они могут привлекать спам-комментарии, содержащие HTML-ссылки.
Это может иметь какое-то отношение к тому факту, что исходный код формы для комментариев включает код, который может быть легко просканирован ботами, размещающими ссылки.
Примечания к комментариям После
comment_notes_after создает строку текста, которая отображается после набора полей комментариев.
Вы можете просмотреть точный код, включенный в шаблон формы комментариев WordPress Шаблон комментариев WordPress.
Вот код, который я извлек из шаблона комментариев.
Вот изображение кода по умолчанию для примечаний к комментариям после.
Этот код в основном сообщает спам-ботам, что они могут оставлять HTML-ссылки в ваших комментариях, что, безусловно, увеличит уровень спама, который вам нужно модерировать.
Предотвращение спама в форме комментариев
Несомненно, легко остановить спам в комментариях, настроив параметры обсуждения так, чтобы все комментарии требовали утверждения администратором, но это все равно вызывает разочарование, и это никому не нравится.
Akismet неплохо справляется с фильтрацией спам-комментариев, но я заметил, что добавление разрешенных тегов для формы комментариев увеличивает количество комментариев, требующих модерации.
Так какое же решение лучше всего?
Полностью удалить разрешенные теги из формы комментариев с помощью фильтра PHP или скрыть их с помощью кода CSS.
Код CSS не удалит исходный код, который сканируют спам-боты, поэтому гораздо лучше использовать код PHP, чтобы решить эту проблему раз и навсегда.
Отменить и удалить разрешенные теги формы
Используя фильтр WordPress comments_form_default, вы можете предотвратить отображение в тексте разрешенных тегов формы после полей комментариев.
Вот код для сброса и удаления разрешенных тегов формы комментариев. Он также удаляет строку текста и HTML до и после формы комментариев.
Вы также можете использовать фильтр genesis_comment_form_args, чтобы выполнить ту же работу, и я вскоре добавлю этот код в этот пост.
Плагин
Этот плагин также удаляет комментарии для разрешенных тегов, а также примечания до и после.
Удалить другие поля формы комментариев
Если вы хотите дополнительно настроить форму комментариев и снизить вероятность спама в комментариях, вот статья о том, как уменьшить спам в комментариях.
Сообщение также содержит код для удаления поля URL веб-сайта из формы комментариев, что поможет предотвратить спам в комментариях.
Насколько эффективно это решение
Поскольку я удалил разрешенные теги формы комментариев с этого сайта, спам полностью прекратился.
А ты? Вы обновились до HTML 5 и столкнулись с той же проблемой? Удаление разрешенных тегов решило проблему?
Дополнительные решения для настройки формы комментариев
- Настройка текстовой области и метки формы комментариев
- Открыть ссылку на автора комментария в новом окне
- Изменить текст до и после формы комментария
- Настройка заполнителя формы комментариев Текстовые поля ввода и метки
- Кнопка отправки формы комментариев к стилю
- Удалить поддержку формы комментариев из любой темы WordPress
У вас есть какие-нибудь советы?
Пожалуйста, поделитесь своими советами или опытом по предотвращению спама в комментариях. Спасибо
Комментарии
VBA — Удаление тегов HTML из строки
Перейти к основному содержанию
Нужна помощь или настройка?
Вы ищете разработчика, который поможет вам разработать базу данных Access, веб-приложение, надстройку или другое решение? Свяжитесь со мной и узнайте, чем я могу вам помочь.
Мне нужно было очистить некоторые тексты веб-страниц для частного проекта, над которым я работал, и я создал следующую функцию. Сегодня в вопросе на форуме эта тема всплыла на поверхность, поэтому я откопал свою функцию и публикую ее здесь, если она может пригодиться кому-то еще.
Вот простая функция, использующая регулярные выражения для удаления/очистки/извлечения тегов HTML из переданной строки. Таким образом, вам возвращается текст и ничего больше.
'----------------------------------------------------------- ------------------------------------------- ' Процедура: RemoveHTML Автор: Даниэль Пино, CARDA Consultants Inc. |
Обновление 2016-08-26
Только что узнал о функции, благодаря коллеге MVP theDBguy , которая существует с Access 2007 и может удалять форматирование Rich Text из строки. Поэтому вы можете проверить метод PlainText. Его использование очень простое:
? PlainText("И |
который возвращает:
И тогда some)
В моем кратком тестировании, к лучшему или к худшему, в зависимости от того, что вы делаете, этот метод, кажется, сохраняет перевод строки.
Если вы нашли этот сайт полезным, подумайте о том, чтобы сделать пожертвование, чтобы компенсировать расходы на поддержание его работы, и спасибо.