<!--:en-->Motodays 2014, 6.-9. of March<!--:--><!--:it-->Motodays 2014, 6-9 Marzo<!--:-->
Это строка, которую я хочу сопоставить.Я хочу сопоставить содержимое внутри 2 HTML-подобных тегов комментариев.
Итак, я попытался: <!--:(..)-->(.+)<!--:-->
и некоторые дополнительные производные этого регулярного выражения, но не смог найти решение, которое возвращает ожидаемые результаты.Я также попробовал (|)
, который проверяет, существуют ли 2 таких тега, но результаты были ненадежными, потому что ему также нужно управлять 3 или более совпадениями.
Это результат preg_match
:
array(
0 => <!--:en-->Motodays 2014, 6.-9. of March<!--:--><!--:it-->Motodays 2014, 6-9 Marzo<!--:-->
1 => en
2 => Motodays 2014, 6.-9. of March<!--:--><!--:it-->Motodays 2014, 6-9 Marzo
)
Вот чего я хочу достичь:
array(
0 => <!--:en-->Motodays 2014, 6.-9. of March<!--:--><!--:it-->Motodays 2014, 6-9 Marzo<!--:-->
1 => en
2 => Motodays 2014, 6.-9. of March
3 => it
4 => Motodays 2014, 6-9 Marzo
)
РЕДАКТИРОВАТЬ: Ответ предлагает использовать preg_match_all();
Полученный массив немного отличается, но форма еще более практична, чем другой.
array(
0=>array(
0=><!--:en-->Motodays 2014, 6.-9. of March<!--:-->
1=><!--:it-->Motodays 2014, 6-9 Marzo<!--:-->
)
1=>array(
0=>en
1=>it
)
2=>array(
0=>Motodays 2014, 6.-9. of March
1=>Motodays 2014, 6-9 Marzo
)
)