0

たとえば、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] != '');
}

私の問題は何ですか?

4

2 に答える 2

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 に答える
0

include('../lang/lang.en.php')通常の PHP ファイルをそのまま使用する必要があります。

また、http://nl3.php.net/manual/en/function.return.php で直接配列を返すようにすることもできますlang.en.phpreturn

于 2013-01-22T23:09:24.377 に答える