0

我有一页,会有一些正则表达式工作。导致将来会添加或删除正则表达式规则。我想将它们写入一个输出文件。因为这里的正则表达式规则很长,以我的方式我在那里写入了一个 json 数据,但是php variable没有工作。有没有人可以给我一些工作解决方案的好方法?谢谢。

json.txt

$json=<<<'EOT'
[
    {
        "a": "!preg_match('@www\\.aaa\\.com@',$url,$match)&&!preg_match('@www\\.bbb\\.com@',$url,$match)&&!preg_match('@www\\.ccc\\.com@',$url,$match)",
        "b": "1"
    },
    {
        "a": "!preg_match('@www\\.ddd\\.com@',$url,$match)&&!preg_match('@www\\.eee\\.com@',$url,$match)",
        "b": "2"
    },
    {
        "a": "!preg_match('@www\\.fff\\.com@',$url,$match)",
        "b": "3"
    }
]
EOT;

主文件

include("json.txt");
$date = json_decode($json);
foreach($date as $row){
    if($row->a){// i'd like to make some judge like if(!preg_match('@www\\.fff\\.com@',$url,$match)), but now the $url make non-sence, un-worked `php variable`
       echo $row->b.'<hr />';
    }
}
4

1 回答 1

0

您可能想尝试该eval方法(请参阅此处的文档:http: //php.net/manual/en/function.eval.php

if(eval("return $row->a;")){

但正如文档所述,如果您以外的其他人可以编辑您的 json.txt 文件,这是一种危险的方法。$row->a因此,在尝试此解决方案之前,请确保只有授权人员才能修改内容。

于 2013-01-29T14:39:53.703 回答