我正在使用由Smarty模板引擎驱动的编辑器。
我有通过API传递到$ productName的数据,该API产生如下所示的字符串:
Hills Portable 170晾衣绳,Versaline Broadline晾衣绳,Austral Addaline 35晾衣绳,Hills Rotary 8晒衣绳
我需要的是仅显示来自Hills Brand的这个字符串的第一个产品(上面的品牌是Hills,Versaline,Austral)。
模板语法允许在命令regex_replace:
之后传入两个参数第一个是要替换的正则表达式,第二个是用替换它的文本字符串。
以下是代码:
{$productName|regex_replace:" ":" "}
我需要帮助的是指定实际正则表达式,以便“Hills”和将它与下一个产品名称分隔开的逗号之间的任何内容都保留,其他所有内容都将被删除。
当前输出: Hills便携式170晾衣绳,Versaline Broadline晾衣绳,Austral Addaline 35晾衣绳,Hills Rotary 8晒衣绳
期望的输出: Hills Portable 170晾衣绳
以下是Smarty的regex_replace文档:http://www.smarty.net/docsv2/en/language.modifier.regex.replace.tpl
提前致谢!
答案 0 :(得分:0)
正则表达式可能很复杂,但在这种情况下它很简单。
{$productName|regex_replace:"/,.+/":""}
此表达式捕获逗号,后跟其他任何内容,并将其替换为空。
答案 1 :(得分:0)
你可以 1)首先拆分字符串并放入数组
var str ="今天怎么样?&#34 ;; var res = str.split(",");
res是一个数组,只需选择所需的索引