使用sscanf扫描特殊字符串

时间:2013-01-22 23:05:37

标签: php scanf

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

$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] != '');
}

我的问题是什么?

2 个答案:

答案 0 :(得分:0)

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

此外,可以lang.en.php直接使用returnhttp://nl3.php.net/manual/en/function.return.php

返回数组

答案 1 :(得分: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);