Smarty只获得名字和姓氏

时间:2013-06-20 14:11:35

标签: php smarty

我正在学习Smarty,我想只显示一个人的名字和姓氏......是否有可能或者更好地使用php? 非常感谢

3 个答案:

答案 0 :(得分:2)

您可能需要在页面上使用PHP作为修饰符来爆炸您的字符串数据....

{" "|explode:$name}

或试试这个......

{assign var=nameparts value=" "|explode:$name} 

试一试......但说实话,在将$ name变量加载到HTML页面之前,最好从PHP源代码中进行“爆炸”操作。

<强>更新 为了安全地使用$ name,您可以设置条件...

{assign var=nameparts value=" "|explode:$name}

{if $nameparts[6] == 'Mendonça'}
  <p>then my name is {nameparts[0]} {nameparts[6]}.</p>   
{else}
  <p>we are dealing with a different name </p>
{/if}

..在您使用Smarty的HTML代码中。

答案 1 :(得分:2)

如果你真的想在Smarty中这样做,你可以这样做。

{assign var="newname" value=" "|explode:$name}

{$newname[0]} {$newname[6]}

更新

或..我要做的是用PHP做。然后将其分配给smarty。

<?php
$arr = explode(" ", $name);
$fullname = $arr[0]." ".$arr[6];

$smarty->assign("fullname",$fullname);

?>

然后在模板中使用{$fullname}

答案 2 :(得分:0)

您认为此解决方案是否可行?根据我的测试,它正在运作:

{assign var="newname" value=" "|explode:$name}
{assign var=names_count value=$newname|@count} 
{if $names_count>2}
   {assign var=position value=$names_count-1}
   {$newname[0]} {$newname[$position]}
{else}
   {$name}
{/if}