我需要将PHP代码转换为javascript并将其显示在html页面上。 我正在设置我的cookie(例如有一些特殊错误):
<?php
setcookie("data","test1=avalue;test2=bvalue;test3=cvalue;test4=;==;=;=;",time()+(60)*(60));
?>
然后另一页正在阅读/检查错误:
<?php
if(isset($_COOKIE)){
$data=array();
if(strlen($_COOKIE['data'])>0){
if((strstr($_COOKIE['data'],";")!=NULL)and(strstr($_COOKIE['data'],"=")!=NULL)){
$c=explode(";",$_COOKIE['data']);
foreach($c as $t){
if(strstr($t,"=")!=NULL){
$v=explode("=",$t);
if($v[0]!=""){
if($v[1]!=""){
$data[$v[0]]=$v[1];
}else{
$data[$v[0]]="n/a";
}
}
}
}
}else{
$data["errors"][]="corupted cookie data";
}
}else{
$data["errors"][]="specific cookie not found";
}
}else{
$data["errors"][]="cookies must be enabled";
}
?>
并给出示例过滤所有bugus数据并使用php语言中的print_r显示它:
Array (
[test1] => avalue
[test2] => bvalue
[test3] => cvalue
[test4] => n/a
)
所以我想要的是,获取阅读代码(在我的例子中用php编写)获得纯粹的javascript语言。请注意,我做了特殊错误“=; ==; =; =;”在cookie中,它们必须在javascript中正确过滤,就像在我的PHP代码中一样。
答案 0 :(得分:0)
function func1(str) {
var data = {};
data["errors"] = [];
if(str.length > 0){
if(str.indexOf(';') != -1 && str.indexOf('=') != -1) {
var ary = str.split(';');
for(var i = 0, l = ary.length; i < l; i++) {
if(/[^\=]+\=[^\=]*/.test(ary[i])){
var v = ary[i].split('=');
if(v[1] !== ''){
data[v[0]]=v[1];
}else{
data[v[0]]="n/a";
}
} else {
data["errors"].push("corupted cookie data");
}
}
} else {
data["errors"].push("specific cookie not found");
}
} else {
data["errors"].push("cookies must be enabled");
}
console.log(data);
return data;
}