![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| sMake |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 18.7.2008 Репутация: нет Всего: нет |
Сейчас практикуюсь с рег. выражениями и вот не получается разбить строки в месте двойного переноса
Покажите пожалуйста выражение, чтобы разбить этот пример на два элемента по /n/n. |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 16 Всего: 261 |
#(.+?)\n{2}#s
|
|||
|
||||
| sMake |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 18.7.2008 Репутация: нет Всего: нет |
Ничего не возвращает.. что-то нетак с двумя \n
В чём может быть проблема ? |
|||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 1 Всего: 91 |
#(.+?)\n{0,10}#iU
? Это сообщение отредактировал(а) gta4kv - 18.7.2008, 11:11 |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 16 Всего: 261 |
sMake, покажите код, сделайте print_r($matches)...
|
|||
|
||||
| sMake |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 18.7.2008 Репутация: нет Всего: нет |
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 16 Всего: 261 |
А если теперь сырцы посмотреть?
Тот же самый код вывел:
Соответственно, если убрать в паттерне скобки, получим только один элемент. Тестировал на ЮНИКс машине. |
|||
|
||||
| sMake |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 18.7.2008 Репутация: нет Всего: нет |
Также ничего не выдаёт..
а в чём может быть проблема? У меня стоит денвер под виндой... Я ещё пытался http://www.pcre.ru/eval/ тут посмотреть, тот пример, но он его тоже не так разбивает |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
sMake, а как ты сам себе представляешь это выражение?
Ну, в смысле, не на форуме спросить, а если бы ты сам его писал? и ты уверен, что строки у тебя разделяются именно \n\n? |
|||
|
||||
| sMake |
|
||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 18.7.2008 Репутация: нет Всего: нет |
Любое количество любых символов включая символ перевода строки а заканчивается элемент двойным переводом строки. Как я и приводил в примере
И результат должен быть такой как привел Mal Hack
Как я понимаю там идёт вот так:
Я пытался ещё задать такой паттерн [\W\w]+\n{2}, но он всё одним элементом выдаёт. |
||||||||||
|
|||||||||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
||||
|
||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: нет Всего: 67 |
В вин разделитель будет \n\m\n\m, помоему. На mac тоже будет отличатся. Использование PHP_EOL может помочь
-------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 16 Всего: 261 |
Все правильно, на винде перевод сроки - последовательность \r\n, поэтому он у тебя не работает...
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Тексты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |