PHPには標準関数が用意されているらしい。が、URLをそのまま突っ込むと全部がエンコードされてしまう。美しくないコードを書いたので載せておく。たぶん、もっとスマートで美しいやり方があるのだろう。
スポンサードリンク
function _urlencode($str){ $chars = preg_split('/\//', $str); $i = 0; $res = null; foreach ($chars as $char){ if($i>1){ if(strlen($char) != mb_strlen($char)){ $char = urlencode($char); } } $res[$i] = $char; $i++; } $res = join('/', $res); return $res; }
コメント