wyrażenie regularne zastępujące dane słowo spacją po obu stronach lub wcale

Pracuję z jakimś kodem w PHP, który przechwytuje dane odsyłające z wyszukiwarki, dając mi zapytanie, które wprowadził użytkownik.

Chciałbym wtedy usunąć pewne słowa stop z tego ciągu, jeśli istnieją. Jednak słowo może mieć lub nie mieć spacji na obu końcach.

Na przykład używam str_replace, aby usunąć słowo w następujący sposób:

$keywords = str_replace("for", "", $keywords);
$keywords = str_replace("sale", "", $keywords);

ale jeśli wartość słowa kluczowego $ jest „formułą niemowlęcą”, zmieni ją na „baby mula” - usuwając część „for”.

Bez konieczności tworzenia kolejnego konta str_replace dla „for” i „for” - czy istnieje polecenie typu preg_replace, którego można użyć, aby usunąć dane słowo, jeśli zostanie znalezione ze spacją na każdym końcu?

Moim pomysłem byłoby umieszczenie wszystkich słów zatrzymania w tablicy i przejście przez nie w ten sposób i podejrzewam, że miejsce preg_replace będzie szybsze niż przechodzenie przez wiele linii str_replace.

AKTUALIZACJA: Rozwiązane dzięki wam, którzy korzystali z następującej kombinacji:

$keywords = "...";
$stopwords = array("for","each");
foreach($stopwords as $stopWord)
{
    $keywords = preg_replace("/(\b)$stopWord(\b)/", "", $keywords);   
}

questionAnswers(4)

yourAnswerToTheQuestion