0

我想在 php 中替换整个单词。我从下面的链接中找到了一个代码 PHP 字符串替换匹配整个单词

我从上面的链接中获取了下面的代码示例。

$text = preg_replace('/\bHello\b/', 'NEW', $text);

但这对我不起作用。我有一个字符串

3 OR ( 2 AND CreatedDate = LAST_N_DAYS:2 ) OR 4

使用上面的代码替换 2 后,它变为

3 OR ( Name = 'LAST WEEK' AND CreatedDate = LAST_N_DAYS:Name = 'LAST WEEK' ) OR 4. 

2 也替换了“LAST_N_DAYS:2”字符串。我只想单独更换 2 个。如果它与任何单词一起使用,则不应替换它。

4

3 回答 3

0

用 NEW 替换 2:

$text = preg_replace('/\s2\s/',' NEW ',$test);
于 2012-12-14T07:44:07.643 回答
0

如果您只想替换第一次出现,请添加限制:

// pattern, replacement, string, limit
$text = preg_replace('#2#U', 'NEW', $text, 1);

或者你可以在下面使用:

$text = preg_replace('#2\s(AND)#', 'NEW $1', $text);
于 2012-12-14T08:50:17.963 回答
0

你可以简单地使用

str_replace('2', "Name = 'LAST WEEK'", $string);
于 2012-12-14T08:54:56.913 回答