php truncate函数能截取不同字体的字吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php truncate函数能截取不同字体的字吗相关的知识,希望对你有一定的参考价值。

truncate 不是php本身的函数 ,是smarty定义的字符串截取函数,只能告诉你,不行.自己写个函数吧;给你一个做参考
function str_natcut($string, $length, $dot = '...')

if (!$string || !$length) return $string;
$string = htmlspecialchars_decode($string);
$string = preg_replace('/\s2,/', ' ', $string);
$maxlen = min($length, mb_strlen($string, 'UTF-8'));
$chars = preg_split('/([\xF0-\xF7][\x80-\xBF]3|[\xE0-\xEF][\x80-\xBF]2|[\xC0-\xDF][\x80-\xBF]|[\x00-\x7F])/m', $string, $maxlen + 1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
$index = 0;
$length = .0;
$total = count($chars);
$result = array();
while ($length < $maxlen && $index < $total)

$char = $chars[$index];
if (preg_match('/[\xE0-\xEF][\x80-\xBF]2/', $char))

if (($maxlen - $length) < 1) break;
$length += 1;

else

$length += 0.5;

$result[] = $char;
$index++;

$result = implode('', $result);
unset($chars, $char);
return htmlspecialchars($result) . ($result == $string ? '' : $dot);

* 以自然的方式计算字符串长度
*
* 一个汉字计算一个长度,两个英文计算一个长度
参考技术A truncate()?
我没用过。你是自定义的?还是

基于armlinux的shell之文件路径截取

最近写脚本,需要对脚本中函数传递的路径参数进行截取,发现了以下比较好用的方法,记录下:

file=/dir1/dir2/dir3/my.file.txt

我们可以用$ 分别替换获得不同的值:

$file#*/:拿掉第一条/及其左边的字串:dir1/dir2/dir3/my.file.txt

$file##*/:拿掉最后一条/及其左边的字串:my.file.txt

$file#*.:拿掉第一个.及其左边的字串:file.txt

$file##*.:拿掉最后一个.及其左边的字串:txt

$file%/*:拿掉最后条/及其右边的字串:/dir1/dir2/dir3

$file%%/*:拿掉第一条/及其右边的字串:(空值)

$file%.*:拿掉最后一个.及其右边的字串:/dir1/dir2/dir3/my.file

$file%%.*:拿掉第一个.及其右边的字串:/dir1/dir2/dir3/my


以上是关于php truncate函数能截取不同字体的字吗的主要内容,如果未能解决你的问题,请参考以下文章

php Smarty里面truncate 类似的用法

PHP项目SmartySmarty截取字符串方法truncate

PHP常用函数大全

PHP怎么用substr函数截取字符串中的某部分

基于armlinux的shell之文件路径截取

linux 文件截取