@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" |
Чт