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. GutsOut - 28 Апреля, 2014 - 16:20:10 - перейти к сообщению
Здравствуйте. Имеем текст след. вида:

Н.А. Дубинский
Уплата утилизационного сбора при ввозе автомобилей в Республику Беларусь. Часть 1
В статье описан порядок и особенности уплаты утилизационного сбора при ввозе автомобилей на территорию Республики Беларусь.
В.Н. Лемеш
Порядок действий в связи с отменой в 2014 году амортизационной премии
В материале описан порядок и особенности бухгалтерского учета объектов, по которым на счетах бухгалтерского учета за период действия льготы по амортизационной премии были произведены соответствующие записи на счетах бухгалтерского учета.
Е.А. Авчинникова
Учет процентов по кредитам
Несмотря на кажущуюся простоту, учет процентов по кредитам до сих пор вызывает массу вопросов, особенно в части налогового учета. Автором рассмотрены особенности и проблемные моменты учета процентов по кредитам и займам.
И.Е. Демидович
Начисление пособий по временной нетрудоспособности работникам резидентов Парка высоких технологий
В статье описаны особенности расчета и начисления пособий по временной нетрудоспособности работникам резидентов Парка высоких технологий, а также приведен ряд практических ситуаций.
Л.И. Пиянзина
Расчет численности работников для целей применения особых режимов налогообложения
В материале в примерах описана методика расчета численности работников для целей применения особых режимов налогообложения.

Задача такая - распихать статьи по массиву т.е.:
[0] => 'Н.А. Дубинский
Уплата утилизационного сбора при ввозе автомобилей в Республику Беларусь. Часть 1
В статье описан порядок и особенности уплаты утилизационного сбора при ввозе автомобилей на территорию Республики Беларусь.'
...
[4] => 'Л.И. Пиянзина
Расчет численности работников для целей применения особых режимов налогообложения
В материале в примерах описана методика расчета численности работников для целей применения особых режимов налогообложения.'

Что надо добавить/изменить в моей регулярке
PHP:
скопировать код в буфер обмена
  1. "#[А-Я]\.[А-Я]\.\s*[А-Я][а-я]+\s*(.+)[А-Я]\.[А-Я]\.\s*[А-Я][а-я]*#s"
чтобы сохранялся текст до первой попавшейся фамилии?
2. Stierus - 28 Апреля, 2014 - 17:08:35 - перейти к сообщению
Добрый день. Если бы передо мной стояла такая задача - я бы читал построчно. Если строка проходит под регулярку автора - сохраняем его, все, что будет дальше - пишем к нему и так до тех пор покан е доходим до следующего автора или конца.

Но если вам нужно именно регулярку, то выглядеть она будет как-то так:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $str = '
  3. Н.А. Дубинский
  4. Уплата утилизационного сбора при ввозе автомобилей в Республику Беларусь. Часть 1
  5. В статье описан порядок и особенности уплаты утилизационного сбора при ввозе автомобилей на территорию Республики Беларусь.
  6. В.Н. Лемеш
  7. Порядок действий в связи с отменой в 2014 году амортизационной премии
  8. В материале описан порядок и особенности бухгалтерского учета объектов, по которым на счетах бухгалтерского учета за период действия льготы по амортизационной премии были произведены соответствующие записи на счетах бухгалтерского учета.
  9. Е.А. Авчинникова
  10. Учет процентов по кредитам
  11. Несмотря на кажущуюся простоту, учет процентов по кредитам до сих пор вызывает массу вопросов, особенно в части налогового учета. Автором рассмотрены особенности и проблемные моменты учета процентов по кредитам и займам.
  12. И.Е. Демидович
  13. Начисление пособий по временной нетрудоспособности работникам резидентов Парка высоких технологий
  14. В статье описаны особенности расчета и начисления пособий по временной нетрудоспособности работникам резидентов Парка высоких технологий, а также приведен ряд практических ситуаций.
  15. Л.И. Пиянзина
  16. Расчет численности работников для целей применения особых режимов налогообложения
  17. В материале в примерах описана методика расчета численности работников для целей применения особых режимов налогообложения.';
  18.  
  19. $data = array();
  20.  
  21. $res = preg_match_all('/([а-яА-ЯЁё]{1}[.][а-яА-ЯЁё]{1}[.]{1}\s[а-яА-ЯЁё]+)(.*?)(?=[а-яА-ЯЁё]{1}[.][а-яА-ЯЁё]{1}[.]{1}\s[а-яА-ЯЁё]+)/msu', $str, $data, PREG_SET_ORDER);
  22.  
  23. var_export($data);
3. GutsOut - 29 Апреля, 2014 - 20:03:23 - перейти к сообщению
Большое спасибо, то что нужно. Я замети вы пишите класс [а-яА-ЯЁё]- получается "Ё" не входит по умолчанию в класс [а-яА-Я]?
4. Stierus - 29 Апреля, 2014 - 20:49:06 - перейти к сообщению
да
5. GutsOut - 03 Мая, 2014 - 10:12:34 - перейти к сообщению
Подскажите, пожалуйста, на счет такого текста(ниже). Задача аналогичная - распихать статьи по массиву. Как я понимаю тут мы должны отталкиваться от ссылки: т.е.
1.Находим ссылку
2.Захватываем предыдущую строку(заголовок)
3.Ищем следующую ссылку(ссылка следующей статьи)
4.Исключаем ее и предыдущую строку(заголовок следующей статьи)

Подскажите, пожалуйста, как это реализовать или другую идею.

Собственно, сам текст:
О тарифах на услуги транспортных терминалов
https://url/library/text/id/50232111
Постановлением установлены предельные максимальные тарифы на услуги транспортных железнодорожных и автомобильных терминалов.
Утверждена Инструкция о порядке установления и применения тарифов на услуги транспортных железнодорожных и автомобильных терминалов, действие которой распространяется на все юридические лица и индивидуальных предпринимателей, занимающихся предоставлением услуг на территории Республики Беларусь (далее — субъекты предпринимательской деятельности).
Инструкцией установлено, что:
• субъекты предпринимательской деятельности устанавливают тарифы на услуги, которые не должны превышать установленные предельные максимальные тарифы...
О некоторых вопросах развития единого расчетного и информационного пространства в Республике Беларусь
https://url/library/text/id/2111675
В соответствии с Постановлением республиканское унитарное предприятие почтовой связи «Белпочта» определено платежным агентом единого расчетного и информационного пространства.
О порядке выплаты в 2014 году надбавок за реализованную сельскохозяйственную продукцию
https://url/library/text/id/52342121
Во исполнение п. 2 и на основании подп. 1.3 постановления Совета Министров Республики Беларусь от 22 января 2014 г. № 53 «О надбавках за реализованную сельскохозяйственную продукцию» Брестский областной исполнительный комитет решил установить, что в 2014 году надбавки из средств областного бюджета за реализованную сельскохозяйственную продукцию выплачиваются в соответствии с п. 1 постановления Совета Министров Республики Беларусь от 22 января 2014 г. № 53 «О надбавках за реализованную сельскохозяйственную продукцию» сельскохозяйственным организациям, в т.ч. крестьянским (фермерским) хозяйствам, а также организациям, осуществляющим предпринимательскую деятельность по производству (выращиванию, разведению) сельскохозяйственной продукции, льнозаводам, выплата надбавок за реализованную сельскохозяйственную продукцию производится в пределах средств, предусмотренных в областном бюджете.
(Добавление)
По сути мне бы только подсказку: как взять строго предыдущую строку, после того как мы нашли #https:.+?\n(.+?)https:\/\/#s

 

Powered by ExBB FM 1.0 RC1