У вас есть несколько вариантов, как это сделать:
urlencode()
или rawurlencode()
- функции, предназначенные для кодирования URL-адресов для протокола http
str_replace()
- строка «тяжелая техника» заменяет
strtr()
- будет иметь лучшую производительность, чем str_replace()
при замене нескольких символов
preg_replace()
использовать регулярные выражения (совместимые с perl)
Предполагается, что вы хотите заменить "\t"
и " "
на "%20"
:
$replace_pairs = array(
"\t" => '%20',
" " => '%20',
);
return strtr( $text, $replace_pairs)
У вас есть несколько вариантов: либо заменить только пробел ~ ~
, снова заменить пробел и табуляцию ~[ \t]~
, либо все виды пробелов ~\s~
:
return preg_replace( '~\s~', '%20', $text);
Или когда вам нужно заменить строку, подобную этой, "\t \t \t \t"
только на одну %20
:
return preg_replace( '~\s+~', '%20', $text);
Я предположил, что вы действительно хотите использовать ручную замену строк и обрабатывать больше типов пробелов, таких как неразрывный пробел (
)