首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php行智能模板引擎反向stristr

php行智能模板引擎反向stristr
EN

Stack Overflow用户
提问于 2016-06-22 10:07:18
回答 2查看 368关注 0票数 0

我想编辑我的php模板,但我做不到。我使用Smarty模板引擎。

我默认的php行如下所示:

代码语言:javascript
复制
{$childItem->getLabel()}

它确实显示如下HTML:

代码语言:javascript
复制
MY TEXT - MY SUB TEXT

我想删除-之前的所有内容。所以它只显示MY SUB TEXT部件。

我尝试过这样做,但这不起作用,因为这会移除符号后面的内容:

代码语言:javascript
复制
{$childItem->getLabel()|stristr:'-' : true}

我怎么才能解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-22 10:27:49

传递给$before_needle,的附加"true“参数引用stristr,因此您将在连字符之前返回字符串的部分。不幸的是,删除它将使您返回字符串在之后的部分,并包括的连字符,即"- MY SUB“。

一个干净的解决方案是使用explode,然后使用结果数组的第二个元素,如下所示:

代码语言:javascript
复制
{assign var="splitItem" value=" - "|explode:$childItem->getLabel()}
{$splitItem[1]}
票数 1
EN

Stack Overflow用户

发布于 2016-06-22 10:27:30

关于斯特拉斯特尔的php文档

如果为TRUE,stristr()将返回第一次出现针(不包括针)之前的大海捞针部分。

但是,由于函数的正常行为是包括针和后面的文本,而这并不完全是您想要的,所以您还必须用替换来删除它,所以:

代码语言:javascript
复制
{$childItem->getLabel()|stristr:'-'|replace:'-':''}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37964861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档