如何用str_replace替换字符串,但在PHP中不使用任何附加符号?

如何用str_replace替换字符串,但在PHP中不使用任何附加符号?,php,Php,我对str_replace有意见, 我有一个对象,它有字符串'menu-item','item' 我只想用'item new one'替换'item',我尝试了: function wp_list_pages_filter($output) { $output = str_replace('item', 'item new-one', $output); return $output; } 它正在工作,但问题是该函数也替换了'menu-item'字符串,因为它包含'item' 如何仅更

我对str_replace有意见, 我有一个对象,它有字符串
'menu-item'
'item'

我只想用
'item new one'
替换
'item'
,我尝试了:

function wp_list_pages_filter($output) {
  $output = str_replace('item', 'item new-one', $output);
  return $output;
}
它正在工作,但问题是该函数也替换了
'menu-item'
字符串,因为它包含
'item'

如何仅更换
“项目”
?如果它有额外的符号,函数应该忽略这一点。函数应该是通用的,而不是依赖于精确的字符


你能帮帮我吗?提前感谢。

上面已经提到了,但是一个简单的
条件可以解决您的问题,有很多不同的方法可以使用此解决方案。在我们的内部,在你的职能之外。
里面

外面

$if ($output == 'item') {
    $output = 'item new-one';
}

尝试在“item”@MVB76的任一侧添加空格,因为它不起作用。基于此示例,一个简单的
if
条件就可以了-根本不需要
stru_replace
。您是否有一个更全面的例子来说明为什么需要
str\u replace
$if ($output == 'item') {
    $output = 'item new-one';
}