您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
三六零分类信息网 > 日照分类信息网,免费分类信息发布

请问关于preg_replace替换的有关问题

2025/11/9 9:08:01发布63次查看
请教关于preg_replace替换的问题
字符串  $str = 'aa__cc__ee';
企图使用这样的语句:  preg_replace('/_{2}?/', array('bb', 'dd'), $str);
替换成  'aabbccddee'
但全部换成了bb,我已经在表达式中加了 ? 号表示非贪婪,希望第一次匹配替换完之后不要再把第二个 __ 双下划线替换了,但发现这样不成功,请问怎么办才好?是不是我对贪婪模式理解错误了呢?
分享到:
------解决方案--------------------
$str = 'aa__cc__ee';
$a = array('bb', 'dd');
echo preg_replace('/_{2}?/e', 'array_shift($a)', $str);
aabbccddee
不过php5.5已经取消了修饰符“e”,所以还是前瞻点,以免以后改起来麻烦$str = 'aa__cc__ee';
$a = array('bb', 'dd');
echo preg_replace_callback('/_{2}?/', function($r) use (&$a) { return array_shift($a); }, $str);
日照分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product