日期:2014-05-17  浏览次数:20393 次

如何在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,否则汉语字符将无法被截断