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

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

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

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