gpt4 book ai didi

php - 替换 () 之间的所有 "foo"

转载 作者:可可西里 更新时间:2023-11-01 00:16:57 24 4
gpt4 key购买 nike

我的正则表达式代码有问题,问题是:我想替换所有“foo”值,但只替换“()”内的值。示例:

try foo foo-foo (try foo inside , foo foo foofoo)

我想用“boo”替换括号中的所有“foo”字符串。

最佳答案

假设括号“有效”,您可以替换所有 foo 后跟 ),中间没有 (:

$str = preg_replace('/foo(?=[^()]*\))/', 'bar', $str);

工作示例:http://ideone.com/xezU7

另一种选择,也假设没有嵌套对,是匹配 "(...)" 标记并使用回调,但它可能使用过度的力:

回调方法:

function replace_foo($matches) {
return str_replace('foo', 'bar', $matches[0]);
}

使用:

$str = preg_replace_callback("/\([^()]*\)/","replace_foo", $str);

工作示例:http://ideone.com/ZzBem

关于php - 替换 () 之间的所有 "foo",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5755936/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com