Я пытаюсь узнать задом системы шаблонов, создав у себя, и я ударил шишка ...Regex чтобы соответствовать {@ раскладка = ххх}
Я хочу, чтобы настроить мой шаблон следующим образом:
{@layout=layoutname}
{@content}
<p>This is a paragraph</p>
{@endcontent}
Но я не знаю, как соответствовать {@layout=
и получить имя макета.
Я пробовал: if (preg_match('/(\{\@layout=[a-z]+\})+/', $string, $matches)) {
который работает ... вид. Я хочу проверить, загружено ли больше 1 макета, чтобы предотвратить ошибки в длинных файлах, и хотите подсчитать, сколько совпадений $ у меня есть и возвратить ошибку, если найдено более 1 совпадения, но вместо того, чтобы получать все найденные макеты, он возвращает то же самое макет дважды:
Строка используется:
{@layout=app}
{@layout=main}
{@content}
<h1>{[username]} profile</h1>
<img src="{[photoURL]}" class="photo" alt="{[name]}" width="100" height="100"/>
<b>Name:</b> {[name]}<br />
<b>Age:</b> {[age]}<br />
<b>Location:</b> {[location]}<br />
{@endcontent}
и используя это выражение, я получаю:
Array ([0] => {@layout=app} [1] => {@layout=app})
может кто-то пожалуйста, помогите мне найти регулярное выражение?
Вы должны использовать 'preg_match_all' найти несколько совпадений. Два элемента в вашем массиве указывают на полное совпадение (0) и первую группу захвата (1) матча. –
Итак, как мне изменить его, чтобы возвращать только имена макетов? –
Также. @SebastianProske, не могли бы вы написать его как ответ, чтобы я мог его принять? :) –