作者:xjw4478688 | 来源:互联网 | 2013-06-20 08:57
原本以为要自己写helper去截取中文字符串,没想到cakephp的Texthelper类中已经提供了truncate方法。下面是truncate方法的原型。
原本以为要自己写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
-
)
-
);
echo $this->Text->truncate(
'The killer crept forward and tripped on the rug.',
22,
array(
'ending' => '...',
'exact' => false
)
);
上面的代码将输出
The killer crept…
注意:如果是截取中文字符串的话exact最好置为true,否则汉语字符将无法被截断