регулярное выражение, чтобы заменить данное слово с пробелом по обе стороны или не на всех
Я работаю с некоторым кодом в PHP, который захватывает данные реферера из поисковой системы, давая мне запрос, который ввел пользователь.
Затем я хотел бы удалить некоторые стоп-слова из этой строки, если они существуют. Тем не менее, слово может иметь или не иметь пробел на любом конце.
Например, я использовал str_replace для удаления слова следующим образом:
$keywords = str_replace("for", "", $keywords);
$keywords = str_replace("sale", "", $keywords);
но если значение $ keys равнодетское питание" это изменит его на "Малышка Мула " - удалениеза" часть.
Без необходимости создавать дальнейшие str_replace 'с этим счет " за" а также "за " - есть ли команда типа preg_replace, которую я мог бы использовать, чтобы удалить данное слово, если оно будет найдено с пробелом на любом конце?
Моя идея состояла бы в том, чтобы поместить все стоп-слова в массив и пройти через них таким образом, и я подозреваю, что preg_replace будет быстрее, чем проходить через несколько строк str_replace.
ОБНОВИТЬ: Решено благодаря вам, ребята, используя следующую комбинацию:
$keywords = "...";
$stopwords = array("for","each");
foreach($stopwords as $stopWord)
{
$keywords = preg_replace("/(\b)$stopWord(\b)/", "", $keywords);
}