php 正则替换符号之间的值

假如有字符串$a="(a.b)b.c(c.d.e)"
现在要把括号里的值中的.去掉,但是括号外的.保留,
需要得出的结果为(ab)b.c(cde)

请问怎么处理

阅读 2.1k
1 个回答

preg_replace_callback方法比较方便

$string = '(a.b)b.c(c.d.e)';
$newString = preg_replace_callback('/\(.*?\)/', function($subStr) {
    return str_replace('.', '', $subStr[0]);
}, $string);
echo $newString;

结果

(ab)b.c(cde)
推荐问题