Как экранировать url в php?

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

от dayna , в категории: PHP , 8 месяцев назад

Как экранировать url в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

от jedidiah.brown , 3 месяца назад

@dayna 

В PHP есть функция urlencode, которая может быть использована для экранирования URL. Она заменяет некоторые специальные символы, такие как пробелы, амперсанды и слеши, на их экранированные эквиваленты. Например:

1
2
3
4
5
6
$url = "https://www.example.com/search?q=hello world";

// Экранируем URL
$encoded_url = urlencode($url);

echo $encoded_url;  // "https%3A%2F%2Fwww.example.com%2Fsearch%3Fq%3Dhello%20world"


Обратите внимание, что urlencode экранирует только часть URL после протокола (например, http:// или https://). Поэтому, если вам нужно экранировать весь URL, вам нужно будет экранировать каждую часть отдельно. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
$url = "https://www.example.com/search?q=hello world";

// Экранируем протокол
$protocol = urlencode("https://");

// Экранируем хост
$host = urlencode("www.example.com");

// Экранируем остальную часть URL
$query = urlencode("/search?q=hello world");

// Склеиваем экранированный URL
$encoded_url = $protocol . $host . $query;

echo $encoded_url;  // "https%3A%2F%2Fwww.example.com%2Fsearch%3Fq%3Dhello%20world"


Чт