rawurlencode
funkcja
Koduje ciąg znaków zgodnie z RFC 3986 — spacje stają się %20, znaki specjalne są procentowo kodowane. Bezpieczne do osadzania w URL.
rawurlencode(string $string): string
rawurlencode zamienia niebezpieczne znaki w ciągu na sekwencje %XX, zgodnie ze standardem RFC 3986. Spacja staje się %20 (w odróżnieniu od urlencode, które zamienia ją na +). Używaj tej funkcji, gdy budujesz URL ręcznie i chcesz mieć pewność, że dowolny tekst — w tym polskie litery czy znaki interpunkcyjne — bezpiecznie trafi do adresu.
Gdy chcesz odtworzyć oryginalny ciąg, sięgnij po rawurldecode.
<?php
declare(strict_types=1);
$fraza = 'zażółć gęślą jaźń';
$url = 'https://example.com/szukaj?q=' . rawurlencode($fraza);
echo $url;
// https://example.com/szukaj?q=za%C5%BC%C3%B3%C5%82%C4%87%20g%C4%99%C5%9Bl%C4%85%20ja%C5%BA%C5%84