![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: нет Всего: 2 |
Доброго времени суток господа!
Я в данный момент пишу мини поиск для сайта! и меня интересует одино регулярное выражение! в данный момент всё работает на уровне детского сада! к примеру есть строка: "я ищу тестовую строку" я делаю массив слов, где сепаратор пробел! не подскажете как мне сделать регулярное выражение для такой вот строки: "я ищу 'тестовая строка' тест" к примеру вот это preg_match_all("/'(.*)'/Uims", $s, $res); мне найдёт только 'тестовая строка'. А мне надо чтоб он учитывал и слова вне ковычек и разные виды ковычек! Плз хЭлп! Спасибо за любую помощ! -------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
А что ты от кавычек хочешь?
Какая у них функция? |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: нет Всего: 2 |
Ну как это какая?
строку "я ищу 'тестовая строка' тест" мне надо разбить на: я ищу тестовая строка тест то что в кавычках считается как одно слово! -------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
я думаю есть смысл делать так:
искать все '([^']+)' и "([^"])" запоминать, а затем вырезать и искать простые слова. |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: нет Всего: 2 |
Я чё та не вкуриваю!
я конечно могу сделать поиск preg_match_all("/'(.*)'/Uims", $s, $res1); preg_match_all('/"(.*)"/Uims', $s, $res2); а поотом всё что осталось! но это же не круто! -------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
можно ещё так:
("|')([^\\1])\\1 - так искать. |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: нет Всего: 2 |
А этот рег експ вааще не сработал!
извини конечно! но ты хоть тестишь когда пишешь в сюда? -------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
Frikazoid
нет я просто идею сказал Просто помню как обсуждалась похожая проблема и примерно так делали. Хотя можно использовать preg, отучить алгоритм от жадности и тогда просто юзать ("|')([.]*)\\1 P.S. а пример работать и не будет, попробуй вот так: ("|')([^\\1]*)\\1 |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: нет Всего: 2 |
<?
$s="t 'test ne test' or 'test' not "; $s=$s.'more test for "test string" not'; $q='"'; $n=preg_match_all("/(['](.*)['])|([".'"'."](.*)[".'"'."])|([^ ](.*)[$ ])/Uims", $s, $res); for($i=0; $i<=$n-1; $i++) echo $res[0][$i].'<br>'; ?> вот это работает! кроме последнего слова "not"! Почему? -------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
Frikazoid
Попробуй в конце пробел добавить У тебя же: [$ ] Блин долго доходило что значит: ([".'"'."](.*)[".'"'."]) , потом понял, что это: ([\"](.*)[\"]) |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: нет Всего: 2 |
Secandr Попробуй в конце пробел добавить
Это же не круто! по тамерзки мона сказать! Secandr У тебя же: [$ ] так я понимаю что пробел! я просто не знаю как по другому сделать! -------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
Frikazoid Ну может и по ламерски, но работает
Пойду дочитаю книжку по регулярным выражениям, ... вот тогда может и красиво получится |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: нет Всего: 2 |
Secandr Эх! если бы у меня была такая книженция!
Добавлено @ 12:47 Блин! Я не могу удалить последний пробел! ну тот что добавил для работаспособности рег експа! [$ ] не подходит, так как может быть несколько слов (при использовании ковычек)! -------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: 7 Всего: 32 |
а не проще будет mysql-евый MATCH AGAINST пользовать?
-------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: нет Всего: 2 |
MuToGeN нет не проще! я парсю филесы!
-------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: нет Всего: 2 |
ну вот вроде и всё! получилось!
кто хочет заценить как это всё работает прошу на http://litexplus.md/ -------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
ты лучше выражение покажи
|
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Frikazoid
Господи... похоже жто чудо на нюк... И на будущее. Заценивают не в этом форуме -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: нет Всего: 2 |
Secandr я же уже писал само выражение!
$nn=preg_match_all("/(['](.*)['])|([\"](.*)[\"])|([^ ](.+)[$ ])/Uims", " ".$q." ", $q); IZ@TOP ну я просил не сайт заценить а поиск! а по поводу того что на нюк смахивает...... все это говорят, но я сам делал саммммм! мож чего-то изменить? хотя.... да и потом я не десигнер! -------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Frikazoid
К сожалению поиск мне ни чего не показал. Просто пустую страничку. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: нет Всего: 2 |
IZ@TOP Зайди ещё раз! я просто тогда как раз капался с настройками сервака! и к тому же прошу учитывать специфику контента при поиске!
-------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |