Некоторые из моих HTML-файлов содержат строку типа:
{foreach $any_kind_of_charaters}
Any kind of string including "\n\r" and spaces here
{/foreach}
Я хочу применить PHP's preg_match_all
к ним и хочу вернуть хороший array
, как напечатано ниже
Array
(
[0] => {foreach $any_kind_of_charaters}
Any kind of string including "\n\r" and spaces here
{/foreach}
[1] => any_kind_of_charaters
[2] => Any kind of string including "\n\r" and spaces here
)
Этот РЕГЭКС: /\{foreach\s+\$(.*)\}\s+(.*)\s+\{\/foreach\}/
работает нормально для меня,
но происходит сбой, когда я добавляю новые строки (\ n) между тегами {foreach}{/foreach}
.
Ваша помощь будет высоко ценится, спасибо.
Массив после использования модификатора "S"
Array
(
[0] => {foreach $any_kind_of_charaters}
Any kind of string including "\n\r" and spaces here
{/foreach}
[1] => any_kind_of_charaters}
Any kind of string including "\n\r" and spaces here
[2] =>
)
Взгляд second key
из array
содержит ненужные данные, а last key
из array
совершенно пуст.