我需要一个可以解析.strings文件的PHP Regex。特别是,它需要能够处理注释,空白行,转义字符和尖括号。
.strings文件的示例:
/* string one */
"StringOne"="\"1\"";
"StringTwo"="<2>";
/* Bob Dillon */
"Bob"="Dillon";
Run Code Online (Sandbox Code Playgroud)
根据要求,所需的输出将是这样的:
Array([StringOne] =>“ \” 1 \“” [StringTwo] =>“ <2>” [Bob] =>“ Dillon”)
非常感谢所有帮助!
这个?
$r = '
/* string one */
"StringOne"="first \"string\"";
"StringTwo"="2";
/* Bob Dillon */
"Bob"="Dillon";
';
preg_match_all('~^\s*"((?:\\\\.|[^"])*)"[^"]+"((?:\\\\.|[^"])*)"~m',
$r, $matches, PREG_SET_ORDER);
$parsed = array();
foreach($matches as $m)
$parsed[$m[1]] = $m[2];
print_r($parsed);
Run Code Online (Sandbox Code Playgroud)
版画
Array (
[StringOne] => first "string"
[StringTwo] => 2
[Bob] => Dillon
)
Run Code Online (Sandbox Code Playgroud)