Разбор регулярного выражения на пальцах?
preg_replace() служит для замены, первый параметр - регулярное выражение. Заключается в '//'. Второй параметр - то, на что нужно заменить.([a-z]+) - скобочная группа номер 1, указано: "символы от a до z, не менее 1"([^\}]+) - скобочная группа номер 2, здесь указано: "всё, кроме }, от 1 символа и более". В квадратных скобках, если первый символ [^ ] - далее идут символы, которые необходимо исключить. Слэш \ экранирует символ }, не обязателен, фигурная скобка не является спецсимволом.(?P<\1>\2) - замена, которая убирает все, что не в скобочных группах (двоеточие и { } ), \1 и \2 - это вызов первой и второй скобочной группы. Добавляет (?P< > )Т.е. находим выражение, которое начинается с {, затем идут символы a-z - захватываем их в группу, затем двоеточие, затем любые символы, кроме }, захватываем в группу, и все заканчивается на }
Затем заменяем на (?P<, добавляем первую захваченную группу, >, добавляем вторую захваченную группу и )
preg_replace() служит для замены, первый параметр - регулярное выражение. Заключается в '//'. Второй параметр - то, на что нужно заменить.([a-z]+) - скобочная группа номер 1, указано: "символы от a до z, не менее 1"([^\}]+) - скобочная группа номер 2, здесь указано: "всё, кроме }, от 1 символа и более". В квадратных скобках, если первый символ [^ ] - далее идут символы, которые необходимо исключить. Слэш \ экранирует символ }, не обязателен, фигурная скобка не является спецсимволом.(?P<\1>\2) - замена, которая убирает все, что не в скобочных группах (двоеточие и { } ), \1 и \2 - это вызов первой и второй скобочной группы. Добавляет (?P< > )Т.е. находим выражение, которое начинается с {, затем идут символы a-z - захватываем их в группу, затем двоеточие, затем любые символы, кроме }, захватываем в группу, и все заканчивается на }
Затем заменяем на (?P<, добавляем первую захваченную группу, >, добавляем вторую захваченную группу и )