preg_match fonksiyonuyla yapılır muhakkak ama str_replace de şöyle yapılabilir aslında.

$e="beyazsaray'da gördüğüm beyaz sakallı dede çok üzgündü";

print str_replace(" beyaz "," ak ",$e);

// beyazsaray'da gördüğüm ak sakallı dede çok üzgündü

Aklıma ilk bu yöntem geldi. Yani str_replace de kelimeler yanına boşluk koymak...