>  기사  >  백엔드 개발  >  有对JS熟习的吗,帮转换一段代码为PHP的

有对JS熟习的吗,帮转换一段代码为PHP的

WBOY
WBOY원래의
2016-06-13 13:00:42674검색

有对JS熟悉的吗,帮转换一段代码为PHP的。

<script><br />
var URLEncode = {<br />
    map: {<br />
        '0': '0',<br />
        '1': '1',<br />
        '2': '2',<br />
        '3': '3',<br />
        '4': '4',<br />
        '5': '5',<br />
        '6': '6',<br />
        '7': '7',<br />
        '8': '8',<br />
        '9': '9',<br />
        '10': 'A',<br />
        '11': 'B',<br />
        '12': 'C',<br />
        '13': 'D',<br />
        '14': 'E',<br />
        '15': 'F'<br />
    },<br />
    toHex: function(num) {<br />
        var s = [];<br />
        while ( num >= 16 ) {<br />
            s.unshift( URLEncode.map[num % 16] );<br />
            num = Math.floor( num / 16 );<br />
        }<br />
        s.unshift( URLEncode.map[num] );<br />
        return '%' + s.join('');<br />
    },<br />
    exec: function(url) {<br />
        var exp = /^([a-z]+:\/\/)([^/]*)(.*)/;<br />
        var a, b, c, len, arr;<br />
        arr = url.match(exp);<br />
        a = arr[1];<br />
        b = arr[2];<br />
        c = arr[3];<br />
        len = b.length;<br />
        for (var i = 0; i < len; i++) {<br />
           a += URLEncode.toHex(b.charAt(i).charCodeAt());<br />
        }<br />
        return a + (c.length ? c : '/');<br />
    }<br />
}<br />
var teststr = 'http://baidu.com';<br />
alert('加密前: ' + teststr);<br />
alert('加密后: ' + URLEncode.exec(teststr));<br />
alert('解密后:' + unescape(URLEncode.exec(teststr)));<br />
</script><br />

------解决方案--------------------

var URLEncode = {<br>
	    map: {<br>
	        '0': '0',<br>
	        '1': '1',<br>
	        '2': '2',<br>
	        '3': '3',<br>
	        '4': '4',<br>
	        '5': '5', <div class="clear">
                 
              
              
        
            </div>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.