Поиск и сравнение слов в строке
Совсем недавно понадобилось найти в строке слово и сравнить его с шаблоном слов и если слово это в строке встречается то уже вывести данное слово, иначе вывести какое то другое нужное нам слово (по дефолту).
Реализация на самом деле очень простая и не требует особых знаний в программировании. В PHP по стандарту есть отличная функция для сравнения массивов
array_intersect()
Остается только нашу строку и шаблон слов преобразовать в массив, это можно сделать
explode()
Вот и реализация
function search_str($str)
{
// Предположим что слова в строке разделены запятыми
$str = explode(',', $str);
// Это наш шаблон слов для поиска
$template = explode(',', 'слова,шаблон,поиск,стока,массив');
// Осуществляем сравнение массивов
$out = array_intersect($str, $template);
// Выведет массив одинаковых слов
return $out;
// Если нужно вывести только первое совпадение, то
// return $out[0];
}
И так у нас есть строка и есть шаблон и есть функция сравнения слов, предположим что мы знаем что слово в строке встречается только одно из нашего шаблона. Тогда вместо
return $out;
Необходимо прописать
return $out[0];
Это выведет первое слово, которое совпало с шаблоном слов.
Соответственно вывод должен быть таким
echo search_str('слово,массив,выводим,только,одно,или,все,сразу');
0 комментариев