当前位置:Gxlcms > PHP教程 > smarty中truncate截取字符的疑问

smarty中truncate截取字符的疑问

时间:2021-07-01 10:21:17 帮助过:18人阅读

smarty中truncate和spacify组合使用后截取字符的疑问
模板文件index.tpl中的代码如下:

<{*调解为全部小写并在每个字符之间插入一个空格然后截取默认长度为80个字符*}> 
<{$articleTitle|spacify|truncate:30:"..."}> 

index.php中的代码如下:

$smarty->assign('articleTitle', 'Smokers are Productive, but Death Cuts Efficiency.');
$smarty->display('index.tpl');

代码运行的结果为:
S m o k e r s a r e P r...

但是根据我的思考如下的这段代码:

 <{$articleTitle|spacify|truncate:30:"..."}> 

(1)先根据spacify在字符间插入空格得到:S m o k e r s a r e P r o d u c t i v e
(2)然后使用truncate:5:"..."截取(1)中的字符结果为:
S m o k e r s a r e P r o d...
但是由于truncate默认是按单词截取的所以最终的结果应该为:
S m o k e r s a r e... 这与程序运行的结果不一样????

回复内容:

smarty中truncate和spacify组合使用后截取字符的疑问
模板文件index.tpl中的代码如下:

<{*调解为全部小写并在每个字符之间插入一个空格然后截取默认长度为80个字符*}> 
<{$articleTitle|spacify|truncate:30:"..."}> 

index.php中的代码如下:

$smarty->assign('articleTitle', 'Smokers are Productive, but Death Cuts Efficiency.');
$smarty->display('index.tpl');

代码运行的结果为:
S m o k e r s a r e P r...

但是根据我的思考如下的这段代码:

 <{$articleTitle|spacify|truncate:30:"..."}> 

(1)先根据spacify在字符间插入空格得到:S m o k e r s a r e P r o d u c t i v e
(2)然后使用truncate:5:"..."截取(1)中的字符结果为:
S m o k e r s a r e P r o d...
但是由于truncate默认是按单词截取的所以最终的结果应该为:
S m o k e r s a r e... 这与程序运行的结果不一样????

人气教程排行