【问题标题】:Regex search for Smarty template正则表达式搜索 Smarty 模板
【发布时间】:2011-07-21 14:28:16
【问题描述】:

我有一些字段的名称如下:

home_phone
company_phone
mobile_phone
other_phone_c
personal_phone_c

我有一个 Smarty 变量来使用字段值填充输入值:

value="{$fields.{{$prefix}}_phone}"

但是后缀为_c 的并没有输出,因为它们与模式不匹配。

有没有办法附加某种正则表达式,以便它查找在 phone 之后或以 _c 结尾的值,例如:

{$fields.{{$prefix}}_phone{regex | ($|_c$)}}"

【问题讨论】:

    标签: php regex smarty


    【解决方案1】:

    使用这个:.*_(?:phone|phone_c)$

    它将匹配所需的字符串,以_phonephone_c 结尾。

    【讨论】:

    • 它必须以_phone_phone_c 结尾。以下工作是否可行:_phone(?:$|_c$)?谢谢。
    • 我收到一个错误:syntax error: unrecognized tag: $fields.home_phone(?:$|_c$).value 您的解决方案是否仅适用于 Smarty 3?你有文档的链接吗?再次感谢。
    • @Anthony,我无法在 Smarty 中测试正则表达式。我只提供使用标准语法的正则表达式。
    猜你喜欢
    • 1970-01-01
    • 2014-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    • 2023-04-10
    相关资源
    最近更新 更多