gpt4 book ai didi

php - 字符串替换单词数组中不区分大小写的完全匹配项

转载 作者:可可西里 更新时间:2023-11-01 00:03:41 25 4
gpt4 key购买 nike

在 PHP 中,我有一个单词数组,我想搜索和替换字符串中不区分大小写的完全匹配项。示例:

$pattern = array("base", "all");
$str = "first base baseball for all";

$str = str_ireplace($pattern, "FOUND", $str);
echo $str;

输出:first FOUND FOUNDbFOUND for FOUND
预期:FOUND 的第一个 FOUND 棒球

我不想替换“棒球”,因为我只想替换整个单词。有没有办法做到这一点?

最佳答案

为此使用 preg_replace() 而不是 str_ireplace(),因为您可以在正则表达式中定义单词边界。

$str = "first base baseball for all";
$pattern = '/\b(base|all)\b/i';
$str = preg_replace($pattern, "FOUND", $str);

echo $str;
// first FOUND baseball for FOUND

如果您从一个数组开始,您可以这样做以从该数组构建正则表达式:

$words = array('base','all');
// implode() words into a pipe-delimited string
$pattern = '/\b(' . implode("|", $words) . ')\b/i';
$str = preg_replace($pattern, "FOUND", $str);

关于php - 字符串替换单词数组中不区分大小写的完全匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7111295/

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