有没有比在括号周围格式化空格更好,更有效的方法?是否可以在 RegEx 上合并关注?
$string = '(dd ) ads [d]';
$string = preg_replace([
'#\s*(“)\s*([^”]+?)\s*?(”)\s*#u',
'#\s*(«)\s*([^»]+?)\s*?(»)\s*#u',
'#\s*(\()\s*([^)]+?)\s*?(\))\s*#u',
'#\s*(\{)\s*([^}]+?)\s*?(\})\s*#u',
'#\s*(\[)\s*([^\]]+?)\s*?(\])\s*#u',
],
' \1\2\3 ', $string);
echo trim($string); //(dd) ads [d]
它会将这些:a (b) c
、a(b)c
和 转换a( b )c
为。a ( b)c
a (b) c