我想要這個功能轉換:轉換javascript函數PHP
function txt(str){
var t=''; var s=unescape(str);
var x=Math.round(Math.sqrt(16));
for(var i=0;i<s.length;i++) t+=
String.fromCharCode(s.charCodeAt(i)^(i%2?x:0));
document.write(t.replace(/\*/g,'<\/td><td>').replace(/\^/g,'" title="').replace(/~/g,'<\/td><\/tr><tr class="dbeven"><td>').replace(/!/g,'<\/td><\/tr><tr class="dbodd"><td>').
replace(/\|/g,'<\/td><td><a href="\/cgi-bin\/shdb\.pl\?key=')
);
}
到PHP,這是我已經試過:
function Txt($str)
{
$t = '';
$s = urldecode($str);
$x = round(sqrt(16));
for($i=0;$i<count($str);$i++)
{
$t = $t . chr(charCodeAt($str, ($i^($i%2?x:0))));
$t = str_replace("\*", '</td><td>', $t);
$t = str_replace("\^", '" title="', $t);
$t = str_replace("~", '</td></tr><tr class="dbeven"><td>', $t);
$t = str_replace("!", '</td></tr><tr class="dbodd"><td>', $t);
$t = str_replace("\|", '</td><td><a href="/cgi-bin/shdb.pl?key=', $t);
}
echo $t;
}
function charCodeAt($str, $i){
return ord(substr($str, $i, 1));
}
但它無法正常工作。有人能幫我嗎? 謝謝
定義「不工作」。 – nickb
你是什麼意思*它不工作*?輸出是不是你所期望的?它會崩潰嗎?你有沒有收到任何錯誤信息? – Dennis
你期望什麼,你會得到什麼? – deceze