简而言之
,给定一个这样的字符串 -
MAX_checkTime_Hour('0,1', '=~') and (MAX_checkTime_Day('1,2', '=~') or MAX_checkTime_Day('1,2', '=~')) and MAX_checkGeo_Country('DZ,AO,BJ)
我想在或或等<br />
模式之前和之间插入标签,以便输出是 -and MAX_
and (MAX_
and ((MAX_
MAX_checkTime_Hour('0,1', '=~')<br /> and <br />(MAX_checkTime_Day('1,2', '=~') or MAX_checkTime_Day('1,2', '=~'))<br /> and <br />MAX_checkGeo_Country('DZ,AO,BJ)
到目前为止我所做
的通过以下正则表达式替换,我几乎就在那里。标签的插入<br />
正在工作,但我必须插入固定数量的
s -
preg_replace("/\s+and\s+MAX_/",'<br /> and <br />MAX_',$str);
我想——
- 保留确切数量的空格。
- 保留前括号的确切数量
MAX_
。
所以,如果原始字符串是这样的 -
MAX_checkTime_Hour('0,1', '=~') <3 white spaces here> and <5 white spaces here> #2 first brackets here#MAX_checkTime_Day('1,2', '=~')
我希望输出是 -
MAX_checkTime_Hour('0,1', '=~')<br /> <3 white spaces here> and <5 white spaces here> <br /><first brackets here>MAX_checkTime_Day('1,2', '=~')
更新
我尝试使用以下假设可变数量的空格将存储在变量中,但它不起作用 -
preg_replace("/{\s+}and{\s+}MAX_/",'<br />$1and$2<br />MAX_',$str);