我正在使用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
答案 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模板中