Вы должны исключить _ и {}, это должно быть возможно с [^ _ {}] * вместо. *
аюсь создать базовый шаблонизатор. Как и движки шаблонов, уже доступные как открытый исходный код, я использую методы поиска и замены.
Однако, поскольку поиск и замена должны быть жестко закодированы, это не так уж и гибко. Я имею в виду, например, что я использую что-то вроде этого
$templateMarkup = '<div class="title">{_TITLE_}</div>';
$renderedMarkup = str_replace("{_TITLE_}",$title,$templateMarkup);
echo $renderedMarkup;
Как видите, это жестко закодировано. Поэтому я должен преднамеренно знать все заполнители, чтобы выполнить успешную визуализацию.
Я немного слаб в регулярном выражении. Но я знаю, смогу ли я разработать регулярное выражение, которое может соответствовать всему тексту, начиная с{_
и окончание_}
и получить значение между ними, я просто мог бы создать гибкий шаблонизатор.
Мне нужна помощь с регулярным выражением.
Если я полностью иду по неверному пути, пожалуйста, предупредите меня.
Для тех, кто думает, что я заново изобретаю колесо. Вот мое объяснение
Templating engines, that are already available are quite unnecessarily complex.
My requirements are simple and so I am builidng my own simple engine.