Я пытаюсь удалить некоторые конкретные слова из заданной входной строки, которая разделена на слова. Но из массива разделенных слов конкретные слова не заменяются.Удалить слова из строки в PHP
$string = $this->input->post('keyword');
echo $string; //what i want is you
$string = explode(" ", $string);
$string = array_values(array_filter(preg_replace('/[^A-Za-z0-9\']/','', $string)));
$omit_words = array(' the ',' i ',' we ',' you ',' what ',' is ');
$keyword = array_values(array_filter(str_ireplace($omit_words,'',$string)));
print_r($keyword); // Array ([0] => what [1] => i [2] => want [3] => is [4] => you)
Ожидаемый результат:
Array ([0] => want)
Я не могу узнать, что случилось в этом. Пожалуйста, помогите мне решить эту проблему.
Если вам нужно только заменить (удалить) эти слова, то на основе регулярное выражение выглядит подход Полегче. Подход, основанный на взломе/массиве, имеет смысл только тогда, когда вам действительно нужны слова как массивы впоследствии, а не как строка. – arkascha