Доброго времени суток всем! Может вопрос немного и туповат, но все же помогите пожалуйста разобраться с преобразованием функции яваскрипта в эквивалентную php-функцию. Вот собственно javascript:
function tvprog_encode(str) {
var s = '', k;
for (var i = 0; i < str.length; i++) {
k = str.charCodeAt(i) + tvprog_user;
while (k > 255) k -= 255;
s += String.fromCharCode(k);
}
var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var out = "", c1, c2, c3, e1, e2, e3, e4;
for (var i = 0; i < s.length; ) {
c1 = s.charCodeAt(i++); c2 = s.charCodeAt(i++); c3 = s.charCodeAt(i++);
e1 = c1 >> 2; e2 = ((c1 & 3) << 4) + (c2 >> 4); e3 = ((c2 & 15) << 2) + (c3 >> 6);
e4 = c3 & 63;
if (isNaN(c2))
e3 = e4 = 64;
else if (isNaN(c3))
e4 = 64;
out += tab.charAt(e1) + tab.charAt(e2) + tab.charAt(e3) + tab.charAt(e4);
}
return out;
}
function encode_str($str, $tvuser)
{
$s = '';
for($i=0; $i<strlen($str); $i++)
{
$k = ord($str{$i}) + $tvuser;
while($k > 255) $k -= 255;
$s .= chr($k);
}
$tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
$out = '';
for($i=0; $i<strlen($s); $i++)
{
$c1 = ord($s{$i++});
$c2 = ord($s{$i++});
$c3 = ord($s{$i++});
$e1 = $c1 >> 2;
$e2 = (($c1 & 3) << 4) + ($c2 >> 4);
$e3 = (($c2 & 15) << 2) + ($c3 >> 6);
$e4 = $c3 & 63;
if(!is_numeric($c2)) $e3 = $e4 = 64;
elseif(!is_numeric($c3)) $e4 = 64;
$out .= $tab{$e1} . $tab{$e2} . $tab{$e3} . $tab{$e4};
}
return $out;
}