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 :: Версия для печати :: Как найти в тексте отрывок до 16 слов с двумя заданными тэгами внутри?
Форумы портала PHP.SU » PHP » Регулярные выражения » Как найти в тексте отрывок до 16 слов с двумя заданными тэгами внутри?

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

1. pavk - 21 Июня, 2010 - 20:07:34 - перейти к сообщению
Как найти отрывок, в котором находится не больше 16-ти слов, дважды разделенных тэгом BR.

И перед первым BR, и перед вторым BR всегда не меньше одного слова.

слово слово слово слово [слово словоBR
слово слово словоBR
слово слово] слово слово слово слово

Спасибо
2. Tonik992 - 22 Июня, 2010 - 01:15:35 - перейти к сообщению
То, что ты пометил в квадратные скобочки, нужно вытащить??
3. pavk - 22 Июня, 2010 - 07:18:45 - перейти к сообщению
Tonik992 пишет:
То, что ты пометил в квадратные скобочки, нужно вытащить??


Да, конечно.
4. Tonik992 - 22 Июня, 2010 - 13:37:31 - перейти к сообщению
Так это ведь даже и не 15 слов, а меньше.. Как ты сделал именно такую выборку? В этом бы мне разобраться...
Перед первым <br> захватить 2 слова, захватить всё между тегами <br>...<br> и захватить два слова после второго <br> ? Но сумма вытащенных слов не должно превышать 16ти ?
5. JustUserR - 22 Июня, 2010 - 14:20:27 - перейти к сообщению
pavk Самым простым регулярным выражением для выбора двух строк разделенных тегом <br> - с некоторыми данными до и после него будет preg_replace("/\b(.+?)\b\r?\n?\<br\>(.*?)\<br\>\r?\n?\b(.+?)\b/$1<br>$2<br>$3/igs") В качетсве улучшения можно добавить автоматичесикй поиск \r\n и перевод на произвольное число строк
6. Tonik992 - 22 Июня, 2010 - 17:25:03 - перейти к сообщению
Объясни пожалуйста, что значит (.+?) вопросительный знак? Какие это вхождения?
7. JustUserR - 23 Июня, 2010 - 14:16:03 - перейти к сообщению
Tonik992 пишет:
Объясни пожалуйста, что значит (.+?) вопросительный знак? Какие это вхождения?
Шаблон (.+?) значит что ищется вхождение любых символов от одного раза до произвольного числа - но знак нежадности ? показывается что по возможности таких вхождений должно быть минимальное число - поскольку хотя каждый шаблон стремиться соответствовать себе в соответствии с жадностью но соответствия всего выражения они хотят больше чем своего Круглые скобки являются запоминающими и нужны для сохранения значения как обратной ссылки

 

Powered by ExBB FM 1.0 RC1