20
8月
2018

PHP实现和js一样的encodeURI函数

/**

     * 非英文数字横杠,点,冒号,下划线, 正斜杠都做转码

     * 可以解决url中含有中文和全角符号造成安卓客户端无法解析的问题.

     * @param $strOrigUrl

     *

     * @return string

     */

    function encodeInvalidUrl($strOrigUrl) {

        $len = mb_strlen($strOrigUrl);

        $strNewUrl = ;

        for($i = 0 ; $i < $len ;$i++) {

            $str = mb_substr($strOrigUrl, $i, 1);

            //英文数字横杠,点,冒号,下划线, 正斜杠

            if(!preg_match(‘/[a-zA-Z0-9_\-.:\/]/’, $str)) {

                $strNewUrl .=  rawurlencode($str);

            } else {

                $strNewUrl .= $str;    

            }

            

        }

        return $strNewUrl;

    }

You may also like...