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-код разрыва строки перед каждым переводом строки

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


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

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

Событие в JavaScript

Событие в JavaScript - это определённое действие, которые вызвано либо пользователем, либо браузером.

Например:

События мыши:

  • click – происходит, когда кликнули на элемент левой кнопкой мыши (на устройствах с сенсорными экранами оно происходит при касании).
  • contextmenu – происходит, когда кликнули на элемент правой кнопкой мыши.
  • mouseover / mouseout – когда мышь наводится на / покидает элемент.
  • mousedown / mouseup – когда нажали / отжали кнопку мыши на элементе.
  • mousemove – при движении мыши.

События на элементах управления:

  • submit – пользователь отправил форму
  • focus – пользователь фокусируется на элементе, например нажимает на <input type="text" />.
Подробнее...

Универсальный обход по массиву

Предлагаю вашему вниманию PHP-код - универсальный обходчик любого массива с любым представлением. Используем две функции: 1) функция с циклом (метод ArrFor() в классе) и 2) функция (как аргумент) с оформлением результатов обхода по массиву в цикле.

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

JavaScript - основы (ES6)

ECMAScript 6 (или ES6) - это новая версия JavaScript 2015г, в которую добавлен новый функционал, которая на сегодня поддерживается всеми современными браузерами.

Переменные и комментарии

JavaScript - не строго типизированный язык. Переменные обозначаются так:

	let name='Геннадий'//Строка
	console.log(name)  //Геннадий - отображается в консоли

	var age=40      //Число(без кавычек) VAR (глобальная) - устарело, не использовать!
	console.log(age)//40 - отображается в консоли

	const prof="Программист"//Это константа
	console.log(prof)//Программист - отображается в консоли

	// - это однострочный комментарий

	/*
		тут 
		многострочные 
		комментарии
	*/

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

Диалектические противоречия или чего хотят современные женщины

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

Многие женщины, живущие в современном мире, традиционно имеют как минимум два взаимоисключающих убеждения в отношении взаимодействия с мужчинами для создания такого союза.

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

Почему мужчинам опасно регистрировать брак в России

Почему мужчинам опасно регистрировать брак в России

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

Но при этом категорически настаиваю, что официально регистрировать брак в нашей стране для мужчин катастрофически опасно и вот почему...

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

День Победы со слезами на глазах...

День Победы со слезами на глазах...

Дорогие друзья, вот и прошёл пожалуй самый светлый праздник для нашей страны, для нашего народа - ДЕНЬ ПОБЕДЫ - 9 мая.

Но, как именно прошёл праздник 75-летия ПОБЕДЫ в этом году, я хочу напомнить сегодня, спустя 4 дня от празднования исторической даты.

У меня такое ощущение, как будто никто не заметил, что ПОЛИЦАИ по всей стране в этот день задерживали, арестовывали и штрафовали именно за память о Победе, за возложение цветов к памятникам нашим павшим героям.

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

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

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