Monday, February 21, 2011

urlencode but ignore certain chars

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

From stackoverflow
  • 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

  • Can you not just do:

    $str = urlencode($str);
    $str = str_replace("%23", "#", $str);
    $str = str_replace("%25", "%", $str);
    
    cballou : Mmmm less lines. +1
    Patrick : nice solution!!!
  • I don't think so, but I guess you could replace the equivalent codes from the encoded string back with # and %.

  • 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);
    }
    

0 comments:

Post a Comment