mrpatg
mrpatg

Reputation: 10117

urlencode but ignore certain chars

It is possible to run the urlencode function without converting # or % ?

Upvotes: 5

Views: 8549

Answers (4)

ekhaled
ekhaled

Reputation: 2930

As far as I know, it's not possible with the urlencode function itself, but you could do a simple string replacement on the encoded results to achieve that:

function my_urlencode($input){
   $input=urlencode($input); 
   return str_replace(array("%25","%23"),array("%","#"),$input);
}

Upvotes: 4

luvieere
luvieere

Reputation: 37534

I don't think so, but I guess you could replace the equivalent codes from the encoded string back with # and %.

Upvotes: 2

Dominic Rodger
Dominic Rodger

Reputation: 99831

Can you not just do:

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

Upvotes: 8

Corey Ballou
Corey Ballou

Reputation: 43547

There are a number of examples in the comments section on the PHP Docs of urlencode for alternative functions. You could simply take the most appropriate function for your needs and remove any replacements for # and %.

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

Upvotes: 1

Related Questions