php 正则替换符号之间的值

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

请问怎么处理

阅读 2k
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)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题