Удалить слово из строки

У меня есть CSV-файл, который содержит названия компаний. Я хотел бы сравнить это с моей базой данных. Чтобы иметь более чистые и близкие совпадения, я думаю об исключении некоторых суффиксов компании, таких как «inc», «inc», «, inc.» или ‘, inc’. Вот мой пример кода:

$string = 'Inc Incorporated inc.';
$wordlist = array("Inc","inc."," Inc.",", Inc.",", Inc"," Inc");

foreach ($wordlist as &$word) {
$word = '/\b' . preg_quote($word, '/') . '\b/';
}

$string = preg_replace($wordlist, '', $string);
$foo = preg_replace('/\s+/', ' ', $string);
echo $foo;

Моя проблема здесь в том, что «вкл.» не удаляется. Я предполагаю, что это как-то связано с preq_quote. Но я просто не могу понять, как это решить.

0

Решение

Попробуй это. Это может включать жонглирование типов в некоторый момент, но будет иметь желаемый результат

    $string = 'Inc Incorporated inc.';
$wordlist = array('Inc', 'inc.');

$string_array = explode(' ', $string);

foreach($string_array as $k => $a) {
foreach($wordlist as $b) {
if($b == $a){
unset($string_array[$k]);
}
}

$string_array = implode('', $string_array);
0

Другие решения

Попробуй это :

$string = 'Inc incorporated inc.';
$wordlist = array("Inc","inc.");

foreach ($wordlist as $word) {
$string =str_replace($word, '', $string);
}
echo $string;

ИЛИ ЖЕ

$string = 'Inc Incorporated inc.';
$wordlist = array("Inc","inc.");
$string = str_replace($wordlist, '', $string);
echo $string;

Это будет выводиться как «корпорация» …

Если вы хотите использовать «Incorporated» в качестве результата, сделайте «I» маленьким … и затем запустите мой код выше (первый) …

1

введите описание изображения здесьВы можете использовать это

$string = 'Inc Incorporated inc.';
$wordlist = array("Inc "," inc.");
$foo = str_replace($wordlist, '', $string);
echo $foo;

Запустите этот код Вот

0

Это будет работать для любого количества элементов в массиве …

$string = 'Inc Incorporated inc.';
$wordlist = array("Inc");

foreach($wordlist as $stripped)
$string = preg_replace("/\b". preg_quote($stripped,'/') ."(\.|\b)/i", " ", $string) ;

$foo = preg_replace('/\s+/', ' ', $string);
echo $foo;
0
По вопросам рекламы [email protected]