你基本上必须自己解析它。幸运的是,您至少可以使用token_get_all将其分解为令牌:
$str = '{
key1 = "some= value1";
}';
print_r(token_get_all('<?php ' . $str . ' ?>'));
/* output:
Array
(
[0] => Array
(
[0] => 368
[1] => 1
)
[1] => {
[2] => Array
(
[0] => 371
[1] =>
[2] => 1
)
[3] => Array
(
[0] => 307
[1] => key1
[2] => 2
)
[4] => Array
(
[0] => 371
[1] =>
[2] => 2
)
[5] => =
[6] => Array
(
[0] => 371
[1] =>
[2] => 2
)
[7] => Array
(
[0] => 315
[1] => "some= value1"
[2] => 2
)
[8] => ;
[9] => Array
(
[0] => 371
[1] =>
[2] => 2
)
[10] => }
[11] => Array
(
[0] => 371
[1] =>
[2] => 3
)
[12] => Array
(
[0] => 370
[1] => ?>
[2] => 3
)
)
*/然后,您可以遍历返回的数组,查找=和;以查找赋值和语句结束。请记住,它将解析要插值的标记,例如,key1 = "some $value"将解析出$value。