如何在cakephp中截取中文字符串?

原本以为要自己写helper去截取中文字符串,没想到cakephp的Text helper类中已经提供了truncate方法。下面是truncate方法的原型。

truncate
truncate(string $text, int $length=100, array $options)
Cuts a string to the $length and adds a suffix with ‘ending’ if the text is longer than $length. If ‘exact’ is passed as false, the truncation will occur after the next word ending. If ‘html’ is passed as true, html tags will be respected and will not be cut off.

Text->truncate方法有3个参数:

  • $text:需要截取的字符串
  • $length:需要截取的长度,默认是截取100个字符
  • $options:数组参数。ending表示在截取后的字符串结尾加上ending字符串;exact如果是false的话则不会截断word;html如果是true的话则不会截断html tag

下面的代码演示了如何使用tuncate方法:

echo $this->Text->truncate(
    'The killer crept forward and tripped on the rug.',
    22,
    array(
        'ending' => '...',
        'exact' => false
    )
);

上面的代码将输出The killer crept…

注意:如果是截取中文字符串的话exact最好置为true,否则汉语字符将无法被截断

posted @ 2011-07-17 20:59  乙醇  阅读(597)  评论(0编辑  收藏  举报

友情链接 虫师的blog  测试教程网  重定向科技  省略