我需要一个可以解析 .strings 文件的 PHP 正则表达式。特别是,它需要能够处理注释、空行、转义字符和尖括号。
.strings 文件示例:
/* string one */
"StringOne"="\"1\"";
"StringTwo"="<2>";
/* Bob Dillon */
"Bob"="Dillon";
根据请求,所需的输出如下:
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);
打印
Array (
[StringOne] => first "string"
[StringTwo] => 2
[Bob] => Dillon
)
关于php - 用于解析 .strings 文件的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1686143/