2009-11-04 2 views

ответ

5

Вы можете не просто сделать:

$str = urlencode($str); 
$str = str_replace("%23", "#", $str); 
$str = str_replace("%25", "%", $str); 
+1

Мммм меньше линий. +1 –

+0

приятное решение !!! – mrpatg

1

В разделе комментариев к PHP-документам urlencode для альтернативных функций есть ряд примеров. Вы можете просто взять наиболее подходящую функцию для своих нужд и удалить любые замены для # и%.

http://php.net/manual/en/function.urlencode.php

1

Я не думаю, что это так, но я думаю, вы могли бы заменить эквивалентные коды из закодированной строки обратно с # и%.

3

Насколько я знаю, это не возможно с самой urlencode функции, но вы могли бы сделать простую замену строки на закодированных результатах для достижения этой цели:

function my_urlencode($input){ 
    $input=urlencode($input); 
    return str_replace(array("%25","%23"),array("%","#"),$input); 
} 
Смежные вопросы