Как принять участие в контенте с помощью Regex - preg_match - PullRequest
1 голос
/ 15 мая 2011

Содержимое в div включает новые строки, табуляторы и т. Д. И, вероятно, поэтому оно не работает:

preg_match('/<div>(.*)</div>/', $i, $matches)

Я также пытался preg_match('/<div>(\n*)(.*)(\n*)</div>/', $i, $matches)

но все равно не работает.Не могли бы вы помочь с этим?

Ответы [ 3 ]

2 голосов
/ 16 мая 2011

Использование preg_match('/<div>(.*)</div>/sm', $i, $matches).

Подробнее о том, что означают дополнительные буквы, читайте документация .

1 голос
/ 16 мая 2011

попробуйте с флагами см :

preg_match('/<div>(.*)<\/div>/sm', $i, $matches);
1 голос
/ 15 мая 2011

Добавьте модификатор мультилинии (m) к своему регулярному выражению:

preg_match('/<div>(.*)</div>/m', $i, $matches);

Вы можете прочитать об модификаторах шаблона на php.net .

Пока этодолжно работать, пожалуйста, не анализируйте HTML с регулярным выражением.На этой странице можно найти много информации с некоторыми поисками.

...