[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Найти подстроки в слове
7ion
Застопорился.

Есть множество подстрок типа array('па', 'ля', 'тыц'), допустим.
И есть слово, в котором эти подстроки надо бы найти. Если найдена хоть одна - true.

Нет ли решения изящнее
foreach(array('па', 'ля', 'тыц') as $value) {

if (stripos($word, $value) !== false) return true;

}
?
IncSW
Как вариант

$sub = array('па', 'ля', 'тыц');
if (preg_match( '/' . implode('|', $sub) . '/i', $word)) {
return true;
}
7ion
IncSW
Не, дергать regexp дороговато имхо.
Я просто думал, что меня сейчас ткнут носом в какую-нибудь функцию, которая принимает контент и строки для поиска в массиве.
Valick
7ion, такие вещи надо делать с помощью базы данных


_____________
Стимулятор ~yoomoney - 41001303250491
Michael
Как вариант:
$word = 'looking for something';
$needle = array('ing1', 'some');
$str2 = str_ireplace($needle, array(), $word);
if ($word !== $str2) print 'Имеется совпадение';


_____________
There never was a struggle in the soul of a good man that was not hard
SlavaFr
7ion твой вариант мне нравится больше всего. единственное формируй твой массив не в цикле, а перед ним.

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
7ion
Цитата (SlavaFr @ 11.03.2013 - 15:11)
формируй твой массив не в цикле, а перед ним

Ради читабельности или он создается каждый раз снова?
Так-то он небольшой, нет смысла имхо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.