【问题标题】:Problem with regex_replace in prestashop smartyprestashop smarty 中的 regex_replace 问题
【发布时间】:2020-02-04 07:34:01
【问题描述】:

我正在尝试在 prestashop product_list.tpl 中使用 regex_replace。我的代码是这样的:

{$product.description|regex_replace:".*(?=Kompatybilny)":""|strip_tags:'UTF-8'}

我希望它在“Kompatybilny”字之后显示 $product.destription,但它不起作用,我不知道为什么。我尝试了不同的正则表达式函数,但仍然相同 - 变量根本不显示。

【问题讨论】:

  • 试试"/.*?(?=Kompatybilny)/su" 而不是".*(?=Kompatybilny)"
  • @WiktorStribiżew 完美!按预期工作。你能再告诉我一件事吗?如何让它在 2 个单词之间显示部分变量?
  • 类似{$product.description|regex_replace:"/.*?Kompatybilny(.*?)Word2.*/su":'$1'}?
  • 超级!非常感谢!

标签: regex smarty prestashop-1.6


【解决方案1】:

你可以使用

{$product.description|regex_replace:"/.*?(?=Kompatybilny)/su":''}

正则表达式将匹配

  • .*? - 任何 0+ 个字符,尽可能少,直到(但不包括匹配)第一次出现
  • (?=Kompatybilny) - Kompatybilny 子字符串
  • su - s 表示 . 可以匹配换行符,u 支持 Unicode 字符串。

【讨论】:

    猜你喜欢
    • 2011-03-21
    • 1970-01-01
    • 2017-06-11
    • 2019-10-23
    • 1970-01-01
    • 2019-08-12
    • 2020-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多