0

我面前有一个网站,其中包含 2500 个会话变量,其中大部分都标有不带引号的标签(显然不是我的工作......)。例如

$_SESSION[var]

而不是

$_SESSION['var']

现在,我必须更改所有 2500 个以确保它们有引号。我知道我将不得不编写一些 PHP 来遍历每个文件并检查每个会话变量。我可能会使用 preg_match 但我不确定我需要的正则表达式。当我找到没有报价的那些时,我将不得不去 str_replace ,除非有人能想到更好的方法?

有人知道吗?不能手动执行此操作,它可能会杀了我!:) 干杯

4

1 回答 1

0

尝试:

$yourCodeWhereYouNeedToReplace = file_get_contents('awfulCode.php'); //:P
preg_replace_callback('/_SESSION\[(\w+)\]/',
                      function ($matches)
                      { return '_SESSION[\''.$matches[1].'\']'; },
                      $yourCodeWhereYouNeedToReplace);

编辑:如果\[(\w+)\]你想用[key].['key']

于 2013-01-08T09:19:08.420 回答