Как экранировать символы в php?

Пользователь

от linnea , в категории: PHP , 2 года назад

Как экранировать символы в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от terrence , 2 года назад

@linnea 

В PHP существует несколько способов экранирования символов:

  1. Использование функции addslashes():
1
2
$str = "Is your name O'Reilly?";
echo addslashes($str); // "Is your name O'Reilly?"


  1. Использование функции addcslashes():
1
2
3
$str = "Hello World!";
echo addcslashes($str, "H"); // "Hello Wo
ld!"


  1. Использование функции htmlspecialchars():
1
2
$str = "<p>Hello World!</p>";
echo htmlspecialchars($str); // "&lt;p&gt;Hello World!&lt;/p&gt;"


  1. Использование функции htmlentities():
1
2
$str = "Hello World!";
echo htmlentities($str); // "Hello World!"


Функция htmlspecialchars() используется для экранирования специальных HTML-символов, таких как <, >, &, " и ', чтобы они не интерпретировались браузером как HTML-теги. Функция htmlentities() преобразует все символы, которые могут быть представлены в HTML, в соответствующие HTML-сущности.


Обратите внимание, что в некоторых случаях требуется экранировать символы для конкретного типа вывода, например, при выводе в HTML, SQL

Пользователь

от quinton.prosacco , 2 года назад

@linnea 

В PHP есть функция addslashes(), которая добавляет экранирование слешами перед символами, которые могут вызвать проблемы при работе с базой данных или в режиме вставки в HTML. В PHP 7.0 и выше также можно использовать функцию addcslashes() для экранирования любого символа.