【问题标题】:How can show only the characters after dash ( - )?如何只显示破折号( - )后的字符?
【发布时间】:2014-07-29 21:06:51
【问题描述】:

我有标题(Architectural_Garden_Hardware-Switch Plates & Outlet Covers)

但我只想显示破折号 (-) 之后的字符,例如(开关板和插座盖)\

怎么做?

{foreach from=elements item=birds}
   <option value="{$birds}">{$birds}</option>
/foreach}

【问题讨论】:

  • 你在说什么编程语言?请通过添加标签来指定,
  • 我使用 PHP 语言和 smarty 引擎

标签: foreach character smarty


【解决方案1】:

您应该使用 strpos 和 substr,如下例所示:

{assign var="var" value=" ( Architectural_Garden_Hardware-Switch Plates & Outlet Covers )"}
{assign var="pos" value=$var|strpos:"-"}
{$var|substr:($pos+1)}

您也可以使用更短的语法:

{assign var="var" value=" ( Architectural_Garden_Hardware-Switch Plates & Outlet Covers )"}
{$var|substr:($var|strpos:"-"+1)}

所以在你的情况下你可能会使用:

{foreach from=elements item=birds}
   <option value="{$birds|substr:($birds|strpos:"-"+1)}">{$birds|substr:($birds|strpos:"-"+1)}</option>
{/foreach}

【讨论】:

  • 这个需要放在foreach还是out?因为我尝试了它并没有工作
  • @user3673602 我在答案中添加了更多代码,并且在没有额外变量的情况下也添加了更短的表达式
  • @user3673602 也许不是,但您在问题中没有提到 Smarty 2,也没有添加 Smarty 3 标签
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-02
  • 2011-05-30
  • 2011-08-25
  • 2011-01-26
  • 1970-01-01
  • 2015-02-26
  • 1970-01-01
相关资源
最近更新 更多