如何搜索整个单词,而不仅仅是PHP的子字符串

ste*_*eps -1 php

如果我有以下字符串:"brasil"和"brasil-carinhoso",我只想替换"brasil",但如果它直接跟随其他字符则不能.

所以,如果我有这个列表:"pac pac pac brasil brasil-carinhoso pac brasil",如果我尝试使用以下代码,它会失败:

//$_GET['exclusion_tags'] is 'brazil'
//$tags_maior is the string: "pac pac pac brasil brasil-carinhoso pac brasil" 
$tags_maior = preg_replace('/\b'.$_GET['exclusion_tags'].'\b/u', "", $tags_maior);
Run Code Online (Sandbox Code Playgroud)

当我像这样使用str_replace或preg_replace时,我得到"pac pac pac -carinhoso pac",我需要得到"pac pac pac brasil-carinhoso pac"

我究竟做错了什么?

Kri*_*ian 6

你的问题与你的正则表达式有关.你需要在单词之前和之后选择一个带空格的单词.

(space)brazil(space) 与众不同 brazil

你现在必须问一个问题:"如何编写一个正则表达式,搜索一个既有前导空格又有尾随空格的单词?"

  • 我不在乎它是否有那些东西,因为我不是要为他解决这个问题,我只是告诉他应该如何思考这个问题,让他朝着正确的方向前进. (3认同)