$p = '/Хороший[.|,| ]/iu';
echo preg_replace($p,"",'Привет Хороший человек',1);
//Выводит: Привет человек
Если в строке после слова "Хороший" есть пробел запятая или точка то все работает.
А если нету не чего после слова "Хороший" то это слово не удаляется
$p = '/Хороший[.|,| ]/iu';
echo preg_replace($p,"",'Привет Хороший',1);
//Выводит: Привет Хороший
Что еще нужно дописать чтобы второй вариант тоже работал?)