search

Home  >  Q&A  >  body text

php - smarty中truncate截取字符的疑问

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

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

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:"..."}> <br/> 

(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... 这与程序运行的结果不一样????

PHP中文网PHP中文网2816 days ago439

reply all(0)I'll reply

No reply
  • Cancelreply