Мне нужно создать небольшое средство для создания статьи новостей для моих редакторов с помощью программного обеспечения php. Я создал способ использовать пользовательский блок и модуль, чтобы помочь редакторам включать статические или динамические блоки и модули, просто включив их в текст:
Пример:
Lorem Ipsum Dolor Sit Amet, Concetetur Adipiscing Elit. Этим в Моллис Либеро. Phasellus sollicitudin ligula pharetra magna egestas mattis. {block name = "ads1"} Aenean lacinia lacinia sapien nec fermentum. {имя модуля = "thename" class = "Thelist" метод = "Показать" параметр1 = "первый параметр" параметр2 = "второй параметр" параметр3 = "третий параметр"} Donec ligula lectus, egestas et molestie ac Tristique ID Mi. Donec sed scelerisque leo.
Я использую два регулярных выражения:
$ex = preg_match_all("/{((?:module|block).*?)}/sm", $text, $matches);
preg_match_all ( '/^{module\s+|\G(name|class|method)=("[^"]+"|\'[^\']+\'|\S+)(?:\s+|(?=}$))/i', $module, $matches );
Первый получает все элементы в новостной статье. Второй разделяет каждый блок и модули в массиве.
Вопрос:
Второе регулярное выражение не получает все параметры, а только один! Мне нужно получить все параметры, которые редактор пишет в содержании новостной статьи.