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 :: Версия для печати :: preg_match/preg_match_all
Форумы портала PHP.SU » PHP » Программирование на PHP » preg_match/preg_match_all

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

1. Олег12 - 07 Декабря, 2016 - 12:56:17 - перейти к сообщению
Здраствуйте, помогите советом, пытаюсь выполнить поиск с помощью preg_match_all с конца текстового файла в начало, но никак не получается. Читал, там надо что-то наколдовать в offset, больше информации не нашел. Пример моего поиска:
PHP:
скопировать код в буфер обмена
  1. preg_match_all($pattern_nachalo2, $stroka, $nachalo_out, PREG_SET_ORDER);
.

Наибольшую сложность вызывает сам текст, т.к. strrev с ним не справляется. Кусочек текста:
WV÷piatra-neamt¬AN÷y¬MW÷16¬~QA÷1¬QB÷8Y3PaTEp¬QC÷1480793400|¬QB÷YJ9kjBW1¬QC÷1480777200|¬QB÷xAa2Mxwn¬QC÷1480863600|¬~~A1÷da7b9807e5c930e2185f3f1e4ce58c9e¬~


Заранее спасибо.
2. OrmaJever - 07 Декабря, 2016 - 13:48:36 - перейти к сообщению
а какая стоит задача?
3. Олег12 - 07 Декабря, 2016 - 15:30:49 - перейти к сообщению
Парсить большой текст ( не разбивать) две группы небольших текстов, при этом начинающихся с одинаковых символов, а заканчивающихся разными:
PHP:
скопировать код в буфер обмена
  1.  
  2. $pattern_nachalo1 = '#~ZAч(.+)6¬~Z#isU';  
  3. $pattern_nachalo2 = '#~ZAч(.+)n¬~ZAч#isU';
  4.  


Суть в том, если так парсить, то одна группа частично будет включать другую, т.е. текст №1 из группы №1 будет включать в себя текст №1 из группы 1 и текст №1 из группы №2.
А каждый небольшой текст будет также парситься, отсюда неприемлема подобная склейка.
4. Мелкий - 07 Декабря, 2016 - 15:45:18 - перейти к сообщению
Попробую ткнуть пальцем в небо:
#~ZAч(.+)n¬~Z(?=Aч)#isU
5. Олег12 - 08 Декабря, 2016 - 14:31:51 - перейти к сообщению
Мелкий пишет:
Попробую ткнуть пальцем в небо:
#~ZAч(.+)n¬~Z(?=Aч)#isU


Не подходит, в чем смысл данной регулярки? Вариационно Aч использовать? А то что там 6¬ на n¬ меняется не смущает?
6. Мелкий - 08 Декабря, 2016 - 14:42:58 - перейти к сообщению
Я вообще не представляю, что вы пытаетесь сделать, что у ват там клеится, а что не склеивается. Поэтому и "ткнуть пальцем в небо".
Смысл в позиционном утверждении, которое не входит в совпадение выражения целиком.

 

Powered by ExBB FM 1.0 RC1