preg_match在括号中的字符串后面的第一个字符串

问题描述 投票:1回答:2

我一直在寻找能够找到解决方案的解决方案。我正在寻找通过php_codesniffer清理一些遗留代码,但修复程序不修复注释或超过80列的数组只是让你知道它们。我有一个适用于评论的解决方案,但我陷入阵列的正则表达式。我想修复的示例行是:

$line = "drupal_add_js(array('my_common' => array('my_code_validate' => variable_get('my_code_validate', FALSE), 'inner_index2 => 'inner_value2'), 'another_item' => 'another_value'), 'setting');";
$solution = preg_match('/array.*(\(.*?\))/', $line);
echo $solution;

我想要

$solution  = "'my_common' => array('my_code_validate' => variable_get('my_code_validate', FALSE), 'inner_index2 => 'inner_value2'), 'another_item' => 'another_value'";

但我得到了1。请注意,那里有另一个相当常见的数组。我只想捕获第一个数组的值,然后我可以将它们从那里分开。最后,我想与php codeniffer项目分享我的解决方案,以便展示如何为squizlabs编写新的修复程序。

php regex preg-match phpcodesniffer
2个回答
© www.soinside.com 2019 - 2024. All rights reserved.