Нужна помощь в составлении регулярки

144
19 ноября 2019, 00:20

есть необходимость создать поиск совпадений по строке.

Например:

str = 'Hello, world!';
search_q = 'llo worl';

Нужно чтобы регулярка проверила, есть ли такие совпадения в строке.

search_q может быть любым, например 'world Hello'

Но прим этом, если искать будем 'Hello world Test' - то ничего не найдем

Answer 1

Если я правильно понял, нужно искать соответствия в строке по частичному совпадению? Тогда нужно преобразовать строку 'llo worl' в шаблон следующим образом:

$str = 'Hello, world!';
$search_q = 'llo worl';
$patt = strtr($search_q, [' ' => '\W+']);
preg_match("~\w*{$patt}\w*~i", $str, $arr);
print_r($arr);

Результат:

Array
(
    [0] => Hello, world
)
READ ALSO
Не правильная работа сессии

Не правильная работа сессии

При входе в аккаунт: я задаю $_SESSION['authorized'] = 1;

162
Парсер сайтов с XML и добавления в DB. Wordpress

Парсер сайтов с XML и добавления в DB. Wordpress

Разработал парсер, который парсит обменники от 50 до 150 сайтовНа каждом сайта XML с данными ( валюты, курсы, прибыль, резерв, и т

102
!PHP помощь с методом SOLID

!PHP помощь с методом SOLID

Какие методы SOLID были нарушены в этом коде или что можно изменить (упростить)Хотелось бы услышать ваши замечания и предложения (если у вас...

131
Установка библиотеки gd в контейнере

Установка библиотеки gd в контейнере

Имеется docker контейнер php:71-fpm на котором крутится lumen

139