我四处寻找接近此的解决方案,但未能成功找到解决方案。我希望通过 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 codesniffer 项目的解决方案,以便展示如何为 squizlabs 编写新的修复程序。