Встроенный модификатор ereplace
C помощью встроенного модификатора «ereplace» в парсере компонента pdoTools не могу привести строки вида assets/pictures/kepek/2015/18_Korrózió.jpg в следующую строку: assets/pictures/kepek/2014/18_Korrózió_w270_h220.jpg, в строках используется уникод.
Выводятся строки без изменений.
проверил
на сайте phpliveregex, регулярное выражение срабатывает
Код вывода:
Выводятся строки без изменений.
проверил
preg_replace("/^(.+)(.+)(\..{3,4})$/ium", "${1}${2}_w270_h220${3}", $input_lines); на сайте phpliveregex, регулярное выражение срабатывает
Код вывода:
[[pdoResources? &parents=`5` &includeTVList=`Kep` &hideContainers=`1` &limit=`0` &showLog=`1` &fastMode=`1`
&tpl=`@INLINE {'{{+tv.Kep}}' | ereplace : '/^(.+)(.+)(\..{3,4})$/imu' : '${1}${2}_w270_h220${3}'} </br>`
]]Подскажите пожалуйста, что делаю не так? Комментарии: 9
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Попробуй так:
Если не сложно подскажите пожалуйста, как сделать, если усложню задачу:
Строку вида:
assets/pictures/kepek/2015/18_Korrózió.jpg
изменить на assets/pictures/kepek/2014/thumbs/20_Töredék_w270_h220.jpg
т.е. добавить папку thums перед файлом. Голову сломал как это сделать в регулярном выражений одной строкой.
помог в этом ресурс regex101
Как заставить fenom прожевать эту инструкцию с регулярным выражением?
выводит ошибку
Unexpected token '${' in expression in modchunk/a186e5edb5a26a35539d3aa180d7eac0 line 8, near '{$_pls[«tv.Kép»] | ereplace: "/^(.*[\/])(.+)(.+)(\..{3,4})$/imu": "${' < — there
Нужно сделать чанк не инлайновым, а обычным, и смотреть, что получается. Такая ошибка обычно говорит об ошибке парсинга шаблонизатора, то есть где-то синтаксис некорректный
другие тоже указывают проблемы с новой версией pdotools 2.11.0-pl