Есть строка с каким то значением. И есть поисковый запрос типа "prod%" (может быть любой который позволяет синтаксис mysql).
Может кто знает, но можно ли как то хитро составить регулярку, чтобы был аналог LIKE в mysql???
- 18.07.2013 18:26Студент


- Регистрация: 24.10.2012
- Сообщений: 78
- Репутация: 7
- 18.07.2013 18:37
Функционал strstr или strpos не подходит?
Я же верно понял что вы ищете скриптом рнр что-то, так чтобы это начиналось на определенные символы и оканчивалось на неопределенные? - 18.07.2013 23:27Студент


- Регистрация: 24.10.2012
- Сообщений: 78
- Репутация: 7
я из бд выдёргиваю кучу записей, и кучу строк для поиска подобных %prod% или pro%d% ну или любая вариация, мне надо средствами php проверить входждения
вот ни как регулярку придумать не могу уже бьсь второй день
пробовал менять % на .* что в принципе должно быть одно и тоже для регулярки, но не работатает как надо....
получается примерно так /(.*prod.*)/i - 19.07.2013 08:34
l3x, покажите живой код, так быстрее дело будет.
- 19.07.2013 10:28Студент


- Регистрация: 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++;
}
- 19.07.2013 11:13
l3x, хм... по моему, в такой ситуации будет лучше использовать strpos:
http://php.net/manual/en/function.strpos.php
Регулярки - это когда нужны сложные правила по поиску вхождений, а здесь, насколько вижу, просто проверка подстроки в строке. - 19.07.2013 16:33Студент


- Регистрация: 24.10.2012
- Сообщений: 78
- Репутация: 7
druzhkov, не так просто, потому что что он считае вхождения в троку а мне нужно совпадение по шаблону а шаблоны могут быть типа %pro%d%??? как в mysql
- 19.07.2013 19:07
Хм... Так вроде правильный код. Напишите реальные данные, где неверно ищет.
- 08.08.2013 14:23Студент


- Регистрация: 24.10.2012
- Сообщений: 78
- Репутация: 7
Гугление привело меня к тому, что preg_match как-то криво работает с русскими символами, поэтому сделал просто транслит русских символов и сработала такая регулярка
PHP код:Это я так.... может кому понадобитсяpreg_match("/\b(текст)\b/iu"...
- 08.08.2013 14:45
l3x, теоретически проблему с русскими символами должен решать модификатор "u"
Похожие темы
| Темы | Раздел | Ответов | Последний пост |
|---|---|---|---|
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 |





