0

例如,我想$lang['foo1']='foo2';从 PHP 文件中扫描它,所以我尝试了这个,但它不起作用。

$file = "../lang/lang.en.php"; 

if(file_exists($file)) {
    $text = fopen($file, 'r+');
    $content = trim(file_get_contents($file, NULL, NULL, 221)); 
    $i = 0;
    do {
        $n = sscanf($content, "\$lang['%s']=%s;", $s1[$i], $s2[$i]);
        echo $s1[$i].'==>'.$s2[$i];
        $i++;
    } while($s1[$i]! = '' && $s2[$i] != '');
}

我的问题是什么?

4

2 回答 2

0

你应该include('../lang/lang.en.php')就像一个普通的 PHP 文件。

此外,可以使用http://nl3.php.net/manual/en/function.return.phplang.en.php直接返回一个数组return

于 2013-01-22T23:09:24.377 回答
0

我建议preg_match_all()在您的情况下使用。

// Match 
// $lang['PAGE_TITLE']='Meine Webseite Titel';

$content = file_get_contents('../lang/lang.en.php');
preg_match_all("~\$lang\['.+'\]\s=\s'.+';~", $content, $result);

var_dump($result);
于 2013-01-22T23:13:56.380 回答