gpt4 book ai didi

php - 替换句子中具有不同值的单词

转载 作者:行者123 更新时间:2023-12-04 08:29:19 26 4
gpt4 key购买 nike

我有这样一句话:

{pattern} test {pattern} how r u {pattern}

如何用不同的值替换 {pattern}

{AAA} test {BBB} how r u {CCC}

最佳答案

如果您希望每次都用其他内容替换相同的模式,您可以考虑使用 preg_replace_callback()。在每次匹配时,都会执行一个函数,您可以在每次调用时返回不同的字符串:

$s = '{pattern} test {pattern} how r u {pattern}';

// this gets called at every match
function replace_pattern($match)
{
// list of replacement strings $a and a looping counter $i
static $a = array('AAA', 'BBB', 'CCC');
static $i = 0;

// return current replacement string and increase counter
return $a[$i++ % count($a)];
}

echo preg_replace_callback('/{pattern}/', 'replace_pattern', $s);

此解决方案循环替换字符串,因此它将替换为 AAA、BBB、CCC、AAA(再次)等。您希望采用的确切策略可能会有所不同。

preg_replace_callback() 的第二个参数也可以是闭包 (>= 5.3)

此外,与其使用带有 static 声明的常规函数​​,使用对象进行状态管理可能更合适。

关于php - 替换句子中具有不同值的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12928765/

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