![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
Konstantin555 |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 19.10.2007 Репутация: нет Всего: 1 |
Есть файл следующего содержания:
Нужно определить текст, идущий между ***Chapter_1*** и ***Chapter_2***, а также ***Chapter_2*** и ***End_chapter*** Пробывал следующим образом - результат нулевой...
Насчёт паттерна:
\*[3] - тройное повторение подряд знака * \w - любая буква или цифра ("Chapter") \W - не буква и не цифра ("_") \w - любая буква или цифра ("1") \*[3] - тройное повторение подряд знака * \s - перевод на новую строку Подскажите, плиз! В этом деле - я новичок! ![]() Это сообщение отредактировал(а) Konstantin555 - 19.8.2008, 14:20 |
||||||
|
|||||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: нет Всего: 31 |
уже неверно. "трйоное" - это {3} ну и в целом паттерн неверен Попробуй так:
должен выдавать весь текст между заголовками секций (заголовок в формате "***чаптер_17***"). Получать как $res[1][$i]. Добавлено через 2 минуты и 9 секунд Но лично я бы тут не использовал регулярки. Секции идут последовательно и нетрудно их вытащить за один проход "ручками" по строке. Да и надёжнее. А регулярки - штука дорогая. -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Konstantin555 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 19.10.2007 Репутация: нет Всего: 1 |
Нет, не работает... Вот функция преобразованная:
Скорее всего так и придётся сделать... В каком смысле "дорогая"? Капризная? ![]() |
||||
|
|||||
nornad |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: нет Всего: 31 |
много времени и ресурсов. попробуй такой вариант:
а цикл я бы предложил делать foreach:
-------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
||||
|
|||||
Konstantin555 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 19.10.2007 Репутация: нет Всего: 1 |
Спасибо! Работает! По поводу цикла foreach - как правильно передать параметры ему? Выдаётся предупреждение "Warning: Invalid argument supplied for foreach()", т.е. значение, присвоенное $TxtFile - не подходит
под $res[1] - что имеется в виду? Это сообщение отредактировал(а) Konstantin555 - 19.8.2008, 16:55 |
||||
|
|||||
gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 1 Всего: 91 |
||||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: нет Всего: 31 |
После preg_match_all в $res[1] и будет массив
![]() -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Konstantin555 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 19.10.2007 Репутация: нет Всего: 1 |
Бррр..... запутался! Я так понял, что ты имел в виду следующее - вместо preg_match_all использовать цикл! Разве не так?..
preg_match_all - как бы регулярка ведь... сам себе, на мой взгляд, противоречишь! |
||||
|
|||||
solenko |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: нет Всего: 67 |
Konstantin555, считать файл в массив строк -- функция file
Далее в foreach построчно анализируете. -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: нет Всего: 31 |
не так. foreach вместо for А если без регулярки - это совсем по-другому будет ![]() Добавлено через 4 минуты и 55 секунд Кстати, если интересен вариант без регулярок, то нужна новая тема - тут это офтопом будет. -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Konstantin555 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 19.10.2007 Репутация: нет Всего: 1 |
Не получилось...
Угу, интересует! Тема здесь |
||||
|
|||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Тексты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |