SEO продвижение сайтов

Удаляет HTML и PHP-теги из строки

Для защиты скрипта от атак из форм и для корректного отображения кода в тексте - работаем со строками.

$tag = strip_tags($tag); // Удалить теги
$tag = htmlspecialchars($tag); // Заменить теги на спец. символы

Функция strip_tags() - удаляет все HTML и PHP теги, можно указать теги, которые удалять не нужно.

<?php
    $tag='<a href="https://www.yandex.ru/">Yandex</a> - <b>удалить</b> <i>код</i>';
    $tag = strip_tags($tag, '<b>, <i>'); // Удалить теги, кроме b и i
    echo $tag;
?>

Выводит: Yandex - удалить код - БЕЗ тегов, кроме <b> и <i>

Во втором аргументе через запятую можно указать теги, которые НЕ удалять. Если второй аргумент не указывать - удаляются все теги.

Функция htmlspecialchars() - переводит все теги в безопасные спец. символы, может иметь второй аргумент - флаг (вариант преобразования).

<?php
    $tag='<a href="https://www.yandex.ru/">Yandex</a> - <b>удалить</b> <i>код</i>';
    $tag = htmlspecialchars($tag); // Замена тегов на спец. символы
    echo $tag;
?>

Выводит: <a href="https://www.yandex.ru/">Yandex</a> - <b>удалить</b> <i>код</i> - т.е теги не срабатывают в браузере, т.к. в них заменены угловые скобки и др.

Производятся следующие преобразования:

  • '&' (амперсанд) преобразуется в '&amp;'
  • '"' (двойная кавычка) преобразуется в '&quot;' в режиме ENT_NOQUOTES is not set.
  • "'" (одиночная кавычка) преобразуется в '&#039;' только в режиме ENT_QUOTES.
  • '<' (знак "меньше чем") преобразуется в '&lt;'
  • '>' (знак "больше чем") преобразуется в '&gt;'

Доступные значения параметра flags - второго аргумента

По умолчанию используется ENT_COMPAT | ENT_HTML401.

  • ENT_COMPAT Преобразует двойные кавычки, одинарные кавычки не изменяются.
  • ENT_QUOTES Преобразует как двойные, так и одинарные кавычки.
  • ENT_NOQUOTES Оставляет без изменения как двойные, так и одинарные кавычки.
  • ENT_IGNORE Молча отбрасывает некорректные кодовые последовательности вместо возврата пустой строки. Данная возможность предоставляется в целях обратной совместимости, избегайте ее использования, т.к. она может внести уязвимости в ваш код.
  • ENT_SUBSTITUTE Заменяет некорректные кодовые последовательности символом замены Юникода U+FFFD в случае использования UTF-8 и &#FFFD; при использовании другой кодировки, вместо возврата пустой строки.
  • ENT_DISALLOWED Заменяет кодовые последовательности, несоответствующие указанному типу документа символом замены Юникода U+FFFD в случае использования UTF-8 и &#FFFD; при использовании другой кодировки.
  • ENT_HTML401 Обработка кода в соответствии с HTML 4.01.
  • ENT_XML1 Обработка кода в соответствии с XML 1.
  • ENT_XHTML Обработка кода в соответствии с XHTML.
  • ENT_HTML5 Обработка кода в соответствии с HTML 5.

Еще некоторые функции:

  • get_html_translation_table() - Возвращает таблицу преобразований, используемую функциями htmlspecialchars и htmlentities
  • htmlspecialchars_decode() - Преобразует специальные HTML-сущности обратно в соответствующие символы
  • htmlentities() - Преобразует все возможные символы в соответствующие HTML-сущности
  • nl2br() - Вставляет HTML-код разрыва строки перед каждым переводом строки

Добавить комментарий


Защитный код
Обновить

Ошибки в тексте выделить и Ctrl+Enter


Расскажи о нас друзьям

Web-технологии

Шаблоны проектирования в PHP - паттерны

Шаблон проектирования или паттерн (англ. design pattern) - оптимальный и оригинальный подход в решении типичных, частовстречающихся задач. Эти подходы, приёмы имеют свои названия и используются почти во всех объектно-ориентированных языках программирования.

Паттерны можно классифицировать по назначению (цель, результат) и по тому, к чему обычно применяется к объектам или к классам.

  • Поведенческие (behavioral)

    • цепочка обязанностей (Chain of Responsibility);
    • команда (Command);
    • итератор (Iterator);
    • посредник (Mediator);
    • хранитель (Memento);
    • наблюдатель (Observer);
    • посетитель (Visitor);
    • стратегия (Strategy);
    • состояние (State);
    • шаблонный метод (Template Method).
  • Порождающие (creational)

    • простая фабрика (Simple Factory);
    • фабричный метод (Factory Method);
    • абстрактная фабрика (Abstract Factory);
    • строитель (Builder);
    • прототип (Prototype);
    • одиночка (Singleton).
  • Структурные (structural)

    • адаптер (Adapter);
    • мост (Bridge);
    • компоновщик (Composite);
    • декоратор (Decorator);
    • фасад (Facade);
    • приспособленец (Flyweight);
    • заместитель (Proxy).
Подробнее...

PHP Singleton - Синглтон, пример паттерна

Паттерн (pattern) – это стандартизированное решение какой-либо часто встречающейся проблемы, идея правильного, красивого решения с перспективой легкого расширения функционала.

Паттерн - это некий оптимальный, оригинальный и продуманный подход к решению часто встречающихся задач, который используется во всех языках программирования. Реализации паттернов могут быть различными.

Паттерн Singleton (одиночка) - цель создать только ОДНУ (!!!) реализацию класса с целью экономии ресурса и не допустить коллизий повторных подключений. Нужно создать единственную реализацию класса и его методов и при попытках создать ещё реализации этого класса всегда возвращать результат первой ранее созданной реализации класса.

Пример php-кода:

Подробнее...

Командная строка для Web программистов

Это ознакомительная статья про основы командной строки для web разработчиков, которые должен знать каждый web-программист и уметь использовать командную строку на практике ежедневно. С использование командной строки мы часто сталкиваемся при работе с различными фреймворками.

Базовый терминал для работы с командной строкой есть в каждой операционной системе, а также можно скачать и сторонние программы, например: GitBash.

Скачать GitBash можно тут.

Далее запускаем от имени администратора или Служебные программы Windows -> Командная строка (cmd) или GitBash или др.

NB!: Для Windows Win + R и ввести команду cmd.exe

Основные команды:

Подробнее...
Интересные статьи

Стишки-депрессяшки

Стишки-депрессяшки

У меня нет попы

у меня нет тить

я должна работать

чтобы как то жить

©

В камасутре много

интересных поз

жаль у нас с женою

остеохондроз

©

Надо же приснится

всякая херня

прямо на работе

среди бела дня

Подробнее...

Почему или резонные вопросы

Почему или резонные вопросы

Хотель бы получить ответы на такие вопросы:

  1. Почему современные технологии одновременно позволяют производить банки для пива, которые не разлагаются на свалке за 100 лет, и кузова автомобилей, которые гниют за 3-4 года?
  2. Почему лимонный сок сделан из концентрата, а средство для мытья посуды – из настоящего лимона?
  3. Почему белая нитка, которой соединены новые носки, всегда оказывается прочнее, чем нитки, из которых сделаны сами носки?
Подробнее...

Детские загадки для взрослых

murzilka m

*Загадки, которые были опубликованы в журнале "Мурзилка" 30 лет назад!!! Сегодня они не для детей точно: ))*

1. Чтобы спереди погладить, нужно сзади полизать. (Почтовая марка)

2. Кругом волоса, посредине колбаса. (Кукуруза)

3. Сверху черно внутри красно, как засунешь так прекрасно. (Галоши)

Подробнее...

Оставить заявку

Закрыть
Заполните фрму и отправьте нам заяку
Заполните все обязательные поля*
captcha
Перезагрузить