PR

[PHP] URLエンコード

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

コメント