如何将<b>标签放入smarty模板中的字符串</b>

时间:2014-09-22 17:08:16

标签: smarty put

我正在使用SMARTY,我需要在以下php代码中将<b>标记放入字符串中我可以将标记放入字符串

$search = 'this is my sample strangا';
$dbContent = 'this strang is for sample hello world';

$search = explode( ' ' , $search );
function wrapTag($inVal){
  return '<b>'.$inVal.'</b>';
}
$replace = array_map( 'wrapTag' , $search );

$dbContent = str_replace( $search , $replace , $dbContent );

echo $dbContent;

如何在smarty模板中使用此代码或如何将此代码转换为smarty

1 个答案:

答案 0 :(得分:0)

在我看来,没有必要将这些代码放入Smarty模板中,所以你唯一应该做的就是

$smarty->assign('dbContent', $dbContent);

并在Smarty模板文件中:

{$dbContent}

你应该分开逻辑和显示。在这种情况下,您不应该将此代码移动到Smarty。如果你的wrapTag函数包含很多HTML,你可以这样做(我知道全局不是很好的解决方案,但可能也可以用其他方式完成):

function wrapTag($inVal){
  global $smarty;
  $smarty->assign('inVal', $inVal);
  return $smarty->fetch('bold_template.tpl');
}

并且在bold_template.tpl里面你可以:

<b>{$inVal}</b>

但如果您只添加<b>个标签,则无法将其放入Smarty模板中