Prestashop я не могу сделать regex_replace работает
У меня есть это regex_replace в моем шаблоне :
{$product.unit_price_full|regex_replace:"/^[\d\s]*,?\d{2}\s*[€$₪]*\s*/u":""}
продукт$product.unit_price_full
возвращает мне "1,12 $ L" и мой regex_replace "/^[\d\s]*,?\d{2}\s*[€$₪]*\s*/" : " "
должен удалить все до "L", но он по-прежнему отображает все, как регулярное выражение, но я пробую его на regex101, он отлично работает.
Если я добавлю разметку unicode, она просто удалит символ доллара, но ничего больше
Это выход, который я получаю
1,00 2.21
Поэтому мне нужно захватить разметку пространства в моем правиле регулярного выражения?
У вопроса есть решение - Посмотреть?

Источник

это просто удаляет символ $ и ничего больше. (Я прочитал статью, которую вы только что отметили для дублирования, я опубликовал эту, потому что это не было решением, по-видимому : (пожалуйста, удалите флаг, если вы в порядке)
Источник

Источник

Я просто попробовал, все еще все отображается, но символ доллара, например, я редактирую свой пост, чтобы показать результат, который я получаю
Источник

Источник

Источник

Хорошо! Мое первое регулярное выражение работало с вашим предложением добавить одинарные кавычки вместо двойников o_o поставил это как ответ, поэтому я отмечаю ваш ответ как решение. Большое спасибо
Источник

Да, я удалил этот комментарий.
Источник
Ответы - Prestashop я не могу сделать regex_replace работает / Prestashop I can't make regex_replace works
Является ответом!

05.06.2019 04:39:52
Я предлагаю следующие изменения:
$
внутри строкового литерала в двойных кавычках используется для интерполяции строковых литералов и должен быть экранирован с помощью одной обратной косой черты, если вам нужно сделать его литералом$
char. Еще, и это рекомендуется, просто используйте одинарные кавычки- Поскольку у вас есть символы Unicode из диапазона ASCII в модификаторе pattern pass
u
для регулярного выражения, чтобы шаблон строки и входная строка могли быть правильно проанализированы с помощью PCRE.
Воспользуйся
{$product.unit_price_full|regex_replace:'/^[\d\s]*,?\d{2}\s*[€$₪]*\s*/u':""}

Спасибо, это сработало просто отлично
Помочь в развитии проекта: