Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Поиск и замена СЛОВ в строке
Форумы портала PHP.SU » PHP » Регулярные выражения » Поиск и замена СЛОВ в строке

Страниц (1): [1]
 

1. antoxik - 21 Августа, 2010 - 10:25:25 - перейти к сообщению
День добрый...

Есть строка, допустим SQL запрос "SELECT * FROM таблица WHERE условие"
Нужно выделить ней все слова из ЗАГЛАВНЫХ латинских букв каким нить тегом, например "SELECT * FROM таблица WHERE условие"

Помогите плз...
2. Uchkuma - 21 Августа, 2010 - 10:45:01 - перейти к сообщению
antoxik, типа подсветка?
3. antoxik - 21 Августа, 2010 - 10:46:16 - перейти к сообщению
Типа того (это нужно для удобства отладки запросов)
4. movEAX - 21 Августа, 2010 - 12:13:07 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. preg_replace('@([A-Z]+)@', '<strong>$1</strong>', $query);
5. antoxik - 21 Августа, 2010 - 13:02:45 - перейти к сообщению
Спасиб... то что надо...
6. JustUserR - 21 Августа, 2010 - 22:40:59 - перейти к сообщению
antoxik Для реализации выделения отдельных групп символов в регулярных выражений которые согласно ее механизму считаются возможными словами - можно использовать специальный шаблон \b который указывает именно границу слов из латинских букв различного регистра
7. antoxik - 22 Августа, 2010 - 12:09:41 - перейти к сообщению
Еще один маленький вопрсик...

Нужно проверить строку на соответствие след шаблону (Строка начинается и заканчивается неким символом (допустим @ или %) в ней - все что угодно)
Мой код не проходит
PHP:
скопировать код в буфер обмена
  1. preg_match('/^\%*\%$/','%ВВП подрос на 15% но надо было на 17%')
8. movEAX - 22 Августа, 2010 - 12:39:23 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. preg_match('@^%.+?%$@m','%ВВП подрос на 15% но надо было на 17%')

если не будет работать пробуй вот это:
PHP:
скопировать код в буфер обмена
  1. preg_match('@%.+?%@m','%ВВП подрос на 15% но надо было на 17%')
9. JustUserR - 23 Августа, 2010 - 15:24:32 - перейти к сообщению
antoxik пишет:
Строка начинается и заканчивается неким символом (допустим @ или %) в ней - все что угодно
Для осуществления поиска некоторого вхождения в строке которое ограничено заданными символами или их группой - можно использовать шаблон .*? которые будет соответствовать любым символам но при этом обеспечивать последовательный механизм просмотра что дает соответствие только с одним искомым текстом
movEAX пишет:
Если не будет работать пробуй вот это
Если вам не требуется осуществлять поиск вхождений в многострочном тексте для каждой из составляющих его сторок по отдельности - то можно и не использовать модификатор /m однако даже при его наличии специальные шаблона \A и \Z позволяют соответстовать абсолютному началу и концу всего текста соответственно

 

Powered by ExBB FM 1.0 RC1