2013-07-25 3 views
1

У меня есть массив остановочных слов, которые я бы хотел удалить из строки. Но в каждом случае слова, подобные «in», удаляются из правильных слов, таких как лазание, оставляя восхождение g в результирующей строке.Удаление массива слов из другого массива или слова в PHP

Я думал, могу ли я иметь два массива. Один массив слов остановки и один массив взорванной строки. Есть быстрый способ использовать массив стоп-слов для сравнения массива взорванного строки, таким образом удаляя все стоп-слова из взорванного массива строк ...

$stopwords = array('foo', 'bar'); 
$string = "foo bar Foobar"; 
$newArray = explode(" ", $string) 

Я хотел бы результирующую строку $ = "Foobar"?

заранее спасибо,

Марв

+0

это плохая попытка подвергнуть цензуре ругательства? –

+0

nope ... выполнение студенческого проекта по кластеризации – Marv

ответ

2

array_diff является вашим другом, чтобы исключить слова, которые вы не хотели слишком видеть:

$string = implode(" ", array_diff(explode(" ", $string), $stopwords)); 
+0

Большое спасибо ... работает! – Marv

+0

@ user2620610, то, пожалуйста, отметьте зеленую галочку с галочкой слева от моего ответа, чтобы принять ее. – bwoebi

2

Вы можете использовать array_diff, то он вернет вам разницу между первым и вторым массивом. Для преобразования в строку, вы должны убедиться, что у вас есть только один последний элемент (с графа, например)

Смежные вопросы