我有以下 javascript 代码:
var _keyStr = "ZYX10+/PONM765LKJIAzyTSRQGxwvuHWVFEDUCBtsrqdcba9843ponmlkjihgfe2";
function _utf8_decode(e) {
for (var t = "", i = 0, o = c1 = c2 = 0; i < e.length;)(o = e.charCodeAt(i)) < 128 ? (t += String.fromCharCode(o), i++) : o > 191 && o < 224 ? (c2 = e.charCodeAt(i + 1), t += String.fromCharCode((31 & o) << 6 | 63 & c2), i += 2) : (c2 = e.charCodeAt(i + 1), c3 = e.charCodeAt(i + 2), t += String.fromCharCode((15 & o) << 12 | (63 & c2) << 6 | 63 & c3), i += 3);
return t
}
function decode(e) {
var t, i, o, s, a, r, n = "",
l = 0;
for (e = e.replace(/[^A-Za-z0-9+\/=]/g, ""); l < e.length;) t = _keyStr.indexOf(e.charAt(l++)) << 2 | (s = _keyStr.indexOf(e.charAt(l++))) >> 4, i = (15 & s) << 4 | (a = _keyStr.indexOf(e.charAt(l++))) >> 2, o = (3 & a) << 6 | (r = _keyStr.indexOf(e.charAt(l++))), n += String.fromCharCode(t), 64 != a && (n += String.fromCharCode(i)), 64 != r && (n += String.fromCharCode(o));
return n = _utf8_decode(n)
}
现在我想在 php.ini 中使用这个函数。但我不知道如何从 php.ini 调用 javascript 函数。以前我尝试重写代码如下:
function decode($e){
$t = '';
$i = '';
$o = '';
$s = '';
$a = '';
$r = '';
$n = '';
$l = 0;
$keyString = 'ZYX10+/PONM765LKJIAzyTSRQGxwvuHWVFEDUCBtsrqdcba9843ponmlkjihgfe2';
for($e = preg_replace('/[^A-Za-z0-9+\/=]/','',$e); $l<strlen($e);$l++){
$t = strpos($keyString[$l]) << 2 | ($s = strpos($keyString[$l])) >> 4;
$i = (15 & $s) << 4|($a = strpos($keyString[$l])) >> 2;
$o = (3 & $a) << 6|($r = strpos($keyString[$l]));
$n += chr($t);
64 != $a && ($n += chr($i));
64 != $r && ($n += chr($o));
}
return $n;
}
但不起作用:/