Поиск срдствами preg_match как в Mysql

(Ответов: 11, Просмотров: 1112)
Страница 1 из 2 12 Последняя
  1. Студент
    • Регистрация: 24.10.2012
    • Сообщений: 78
    • Репутация: 7
    Есть строка с каким то значением. И есть поисковый запрос типа "prod%" (может быть любой который позволяет синтаксис mysql).
    Может кто знает, но можно ли как то хитро составить регулярку, чтобы был аналог LIKE в mysql???
    http://opendevelopers.ru мой маленький проектик )
    • 0
  2. Sapienti sat Аватар для brainix
    • Регистрация: 01.01.2013
    • Сообщений: 1,925
    • Записей в дневнике: 1
    • Репутация: 817
    • Webmoney BL: ?
    Функционал strstr или strpos не подходит?
    Я же верно понял что вы ищете скриптом рнр что-то, так чтобы это начиналось на определенные символы и оканчивалось на неопределенные?
    • 0
  3. Студент
    • Регистрация: 24.10.2012
    • Сообщений: 78
    • Репутация: 7
    я из бд выдёргиваю кучу записей, и кучу строк для поиска подобных %prod% или pro%d% ну или любая вариация, мне надо средствами php проверить входждения
    вот ни как регулярку придумать не могу уже бьсь второй день
    пробовал менять % на .* что в принципе должно быть одно и тоже для регулярки, но не работатает как надо....
    получается примерно так /(.*prod.*)/i
    http://opendevelopers.ru мой маленький проектик )
    • 0
  4. Дипломник
    • Регистрация: 15.07.2013
    • Сообщений: 189
    • Репутация: 43
    • Webmoney BL: ?
    l3x, покажите живой код, так быстрее дело будет.
    • 0
  5. Студент
    • Регистрация: 24.10.2012
    • Сообщений: 78
    • Репутация: 7
    Щас вот так работает неправильно (( ищёт но не всё
    PHP код:
                    $data_serach['name_mask']=str_replace("%",".*",$data_serach['name_mask']);
                    
    preg_match("/(".$data_serach['name_mask'].")/iu",$programm['Name'],$name_search);
                    if (!empty(
    $name_search))
                    {
                        
    $count_parametr++;
                    } 
    http://opendevelopers.ru мой маленький проектик )
    • 0
  6. Дипломник
    • Регистрация: 15.07.2013
    • Сообщений: 189
    • Репутация: 43
    • Webmoney BL: ?
    l3x, хм... по моему, в такой ситуации будет лучше использовать strpos:

    http://php.net/manual/en/function.strpos.php

    Регулярки - это когда нужны сложные правила по поиску вхождений, а здесь, насколько вижу, просто проверка подстроки в строке.
    • 0
  7. Студент
    • Регистрация: 24.10.2012
    • Сообщений: 78
    • Репутация: 7
    druzhkov, не так просто, потому что что он считае вхождения в троку а мне нужно совпадение по шаблону а шаблоны могут быть типа %pro%d%??? как в mysql
    http://opendevelopers.ru мой маленький проектик )
    • 0
  8. Дипломник
    • Регистрация: 15.07.2013
    • Сообщений: 189
    • Репутация: 43
    • Webmoney BL: ?
    Хм... Так вроде правильный код. Напишите реальные данные, где неверно ищет.
    • 0
  9. Студент
    • Регистрация: 24.10.2012
    • Сообщений: 78
    • Репутация: 7
    Гугление привело меня к тому, что preg_match как-то криво работает с русскими символами, поэтому сделал просто транслит русских символов и сработала такая регулярка
    PHP код:
    preg_match("/\b(текст)\b/iu"... 
    Это я так.... может кому понадобится
    http://opendevelopers.ru мой маленький проектик )
    • 0
  10. Студент Аватар для tema_crush
    • Регистрация: 12.12.2012
    • Сообщений: 72
    • Репутация: 18
    • Webmoney BL: ?
    l3x, теоретически проблему с русскими символами должен решать модификатор "u"
    • 0
Страница 1 из 2 12 Последняя

Похожие темы

Темы Раздел Ответов Последний пост
preg_match разобраться с регистр
Web программирование 4 31.12.2012 16:32
Скрипт комментариев CommentIt Ajax (Mysql + Без mysql)
Софт, скрипты, лицензии 0 01.07.2012 01:59
Поиск нужной функции/поиск в файлах .tpl
Web программирование 2 07.02.2012 12:58
VIEWS в Mysql
Web программирование 0 07.04.2011 15:56
Абстракция в Mysql
Дайджест блогосферы 0 24.04.2010 01:41

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры