Preg_match_all для нескольких паттернов
На сайте я реализовал подключение плагинов с помощью регулярки с функцией обратного вызова. Так, фраза в контенте {{my_plugin}}
заменяется на соответствующий php-код с инициализацией переменной $_html, содержащий html-разметку.
Появилась необходимость создать еще один тип вставки - вставка javascript-кода - и будет он выглядеть как [[javascript:src]]
Придется ли мне делать дополнительный поиск по регулярному выражению, или в одном поиске можно объединить два паттерна?
Код интеграции паттерна:
$this->data['content'] = preg_replace_callback("/{{(.*)}}/",function($matches){
$plugin = $matches[1];
if (file_exists("plugins/$plugin.php")) require_once "plugins/$plugin.php";
else $_html = "";
return $_html;
}, $this->data['content']);
Источник: Stack Overflow на русском