Мне нужен шаблон для функции php preg_match_all, чтобы возвращать совпадения, которые находятся внутри двойных фигурных скобок, и находятся между '< body>' и '</body>' strings.preg_match_all возвращает только одно совпадение
Я попытался создать такой шаблон, но он вернул только одно совпадение. Я ожидал, что он вернется в «понедельник» и «вторник», но он вернется только во вторник.
Вот картина
/<body>(.)*{{(?<DAY>.*?)}}(.)*<\/body>/s
Вот строка для тестирования:
<body>
s{s ds
ds{{Monday}}ds
s
dsd}{s
ds{{Tuesday}}dsd sdsd
d{}sd}s
}
{
fdsa dsafasd
</body>
Спасибо
Нет, матчи бы между телом теги и вне тела. Например. в главном разделе кода веб-страницы. Спасибо за рабочий шаблон. Один вопрос об этой части: «(?! ^)». Означает ли это что-либо, не сопровождаемое началом тестовой строки? – trzczy
@trzczy Якорь '\ G' продолжит совпадение в конце предыдущего совпадения ** или ** будет соответствовать началу в начале строки. Отрицательный lookahead '(?! ^)' Просто препятствует его совпадению в начале, так что совпадение всегда начинается с '
' и '\ G' всегда продолжается оттуда. Кажется, что он работает в [этом примере] (http://ideone.com/7yPM0m), если есть совпадения внутри элемента ''. –Джош, большое вам спасибо за большую помощь! – trzczy