PHP /正则表达式。用if取代''()

时间:2012-09-19 14:55:04

标签: php regex

我似乎找不到正则表达式来执行以下操作。

我需要将(空格)替换为 ,但前提是它在括号内。

E.g。

hello test('test some more') ; 

需要

hello test('test some more') ; 

任何帮助都会很棒:)

1 个答案:

答案 0 :(得分:1)

嗯,技术上可以用正则表达式完成:

$str = "hello test('test some more again') dads dasds ('and some more');";

$str = preg_replace('#(?<=\()([^)]+?) | (?=[^()]*\))#', '$1&nbsp;', $str);
var_dump($str);

换句话说,我们在这里替换一个前面有(但不是(...)的空格,或者后跟)的空格,但是,再次,不是(...)

但问题是,您是否应采取嵌套括号的预防措施。