天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php輕松實(shí)現(xiàn)中英文混排字符串截取

先給大家介紹用到的函數(shù):

復(fù)制代碼 代碼如下:
mb_strwidth($str, $encoding) 返回字符串的寬度
$str 要計(jì)算的字符串
$encoding 要使用的編碼,如 utf8、gbk

復(fù)制代碼 代碼如下:
mb_strimwidth($str, $start, $width, $tail, $encoding) 按寬度截取字符串
$str 要截取的字符串
$start 從哪個(gè)位置開(kāi)始截取,默認(rèn)是0
$width 要截取的寬度
$tail 追加到截取字符串后邊的字符串,常用的是 ...
$encoding 要使用的編碼

 

下邊給大家實(shí)例演示:

復(fù)制代碼 代碼如下:
<?php
/**
 * utf8 編碼格式
 * 1個(gè)中文占用3個(gè)字節(jié)
 * 我們希望的是1個(gè)中文占用2個(gè)字節(jié),
 * 因?yàn)閺膶挾壬峡?個(gè)英文字母占用的位置相當(dāng)于1個(gè)中文
 */

// 測(cè)試字符串
$str = 'aaaa啊啊aaaa啊啊啊aaa';
echo strlen($str); // 只用strlen輸出為25個(gè)字節(jié)

// 必須指定編碼,不然會(huì)使用php的內(nèi)碼 mb_internal_encoding()可以查看內(nèi)碼
// 使用mb_strwidth輸出字符串的寬度為20使用utf8編碼
echo mb_strwidth($str, 'utf8');

// 只有寬度大于10才截取
if(mb_strwidth($str, 'utf8')>10){
    // 此處設(shè)定從0開(kāi)始截取,取10個(gè)追加...,使用utf8編碼
    // 注意追加的...也會(huì)被計(jì)算到長(zhǎng)度之內(nèi)
    $str = mb_strimwidth($str, 0, 10, '...', 'utf8');
}

// 最后輸出 aaaa啊... 4個(gè)a算4個(gè) 1個(gè)啊算2個(gè) 3個(gè)點(diǎn)算3個(gè) 4+2+3=9
// 是不是很簡(jiǎn)單啊,有的人說(shuō)了為什么是9個(gè)不是10個(gè)嗎?
// 因?yàn)檎谩鞍 钡暮筮呥€是“啊”,中文算2個(gè),9+2=11 超出了設(shè)定,所以去掉1個(gè)就是9了
echo $str;

下邊再給大家介紹一些其它函數(shù)吧:

復(fù)制代碼 代碼如下:
mb_strlen($str, $encoding) 返回字符串的長(zhǎng)度
$str 要計(jì)算的字符串
$encoding 使用的編碼

復(fù)制代碼 代碼如下:
mb_substr($str, $start, $length, $encoding) 截取字符串
$str 要截取的字符串
$start 從哪里開(kāi)始截取
$length 截取多長(zhǎng)
$encoding 使用的編碼

其實(shí)這2個(gè)函數(shù)和strlen()、substr()很像,唯一的不同就是可以設(shè)定編碼。

下邊上實(shí)例:

復(fù)制代碼 代碼如下:
<?php
/**
 * utf8 編碼格式
 * 1個(gè)中文占用3個(gè)字節(jié)
 */
$str = 'aa12啊aa';
echo strlen($str); // 直接輸出長(zhǎng)度為9

// 輸出長(zhǎng)度為7,為什么是7呢?
// 注意這里設(shè)定編碼以后,不管是中文還是英文每個(gè)長(zhǎng)度都為1
// a a 1 2 啊 a a
// 1+1+1+1+1+1+1 = 7
// 是不是正好7個(gè)字符啊
echo mb_strlen($str, 'utf8');

// 同樣mb_substr也是一樣的
// 我現(xiàn)在只想要5個(gè)字符
echo mb_substr($str, 0, 5, 'utf8'); // 輸出 aa12啊

其實(shí)mb擴(kuò)展里邊很有很多好用的函數(shù),這里就不給大家一一列舉。

有興趣的朋友可以查看官方手冊(cè)

好了,今天就先介紹到這里了。

php技術(shù)php輕松實(shí)現(xiàn)中英文混排字符串截取,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 91精品在线国产 | 99手机在线视频 | 亚洲人成7777 | 美女视频黄色的 | 在线观看免费亚洲 | 天天躁日日躁狠狠躁AV麻豆 | 精品无码一区二区三区中文字幕 | 无颜之月5集全免费看无删除 | 嫩草视频在线观看免费 | 久久囯产精品777蜜桃传媒 | 欧美性猛交AAA片免费观看 | 在线观看永久免费网址 | 艳妇臀荡乳欲伦岳TXT下载 | 校花娇喘呻吟校长陈若雪视频 | 亚洲AV精品无码国产一区 | 国产午夜三区视频在线 | 精品视频免费在线观看 | 国产午夜精品视频在线播放 | 国产高清在线观看 | 毛片内射久久久一区 | 俄罗斯6一12呦女精品 | 女教师公车痴汉在线播放 | 中文字幕 人妻熟女 | 国产综合视频在线观看一区 | 国语92电影网午夜福利 | 亚洲精品无码不卡 | 国产久久亚洲美女久久 | 成人国产亚洲精品A区天堂蜜臀 | 国产制服丝袜91在线 | 国产亚洲AV精品无码麻豆 | 国产永久免费观看视频软件 | 麻豆一区二区免费播放网站 | 打卡中国各地奋斗第一线 | 国色精品VA在线观看免费视频 | 中文在线免费看视频 | 男人和女人一级黄色大片 | 久久国产乱子伦精品免费不卡 | 国产69精品久久久久APP下载 | 全文都是肉高h文 | 亚洲精品一区二区在线看片 | 56prom在线精品国产 |