Поиск и сравнение слов в строке

Заметки программиста: Поиск и сравнение слов в строке
Совсем недавно понадобилось найти в строке слово и сравнить его с шаблоном слов и если слово это в строке встречается то уже вывести данное слово, иначе вывести какое то другое нужное нам слово (по дефолту).

Реализация на самом деле очень простая и не требует особых знаний в программировании. В 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 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.