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

php輕松實現中英文混排字符串截取

先給大家介紹用到的函數:

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

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

 

下邊給大家實例演示:

復制代碼 代碼如下:
<?php
/**
 * utf8 編碼格式
 * 1個中文占用3個字節
 * 我們希望的是1個中文占用2個字節,
 * 因為從寬度上看2個英文字母占用的位置相當于1個中文
 */

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

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

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

// 最后輸出 aaaa啊... 4個a算4個 1個啊算2個 3個點算3個 4+2+3=9
// 是不是很簡單啊,有的人說了為什么是9個不是10個嗎?
// 因為正好“啊”的后邊還是“啊”,中文算2個,9+2=11 超出了設定,所以去掉1個就是9了
echo $str;

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

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

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

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

下邊上實例:

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

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

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

其實mb擴展里邊很有很多好用的函數,這里就不給大家一一列舉。

有興趣的朋友可以查看官方手冊

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

php技術php輕松實現中英文混排字符串截取,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 偷窥国产亚洲免费视频 | 国产亚洲精品香蕉视频播放 | 九九影院午夜理论片无码 | 日韩一卡二卡三卡四卡免费观在线 | 三级黄.色 | 久久精品麻豆国产天美传媒果冻 | 小雪奶水涨翁工帮吸的推荐语录 | 日韩精品卡1卡2三卡四卡乱码 | 免费久久狼人香蕉网 | 青柠在线观看视频在线高清完整 | 国产高清美女一级a毛片久久w | MMM日本兽交| 国产美熟女乱又伦AV | 偷窥自拍性综合图区 | 湖南张丽大战黑人hd视频 | 国产成人精品电影 | 免费果冻传媒2021在线观看 | 午夜一级免费视频 | 双腿打开揉弄高潮H苏安安秦慕深 | 亚洲午夜精品AV无码少妇 | 久久精品国产欧美 | 麻豆三级电影 | 18禁无遮遮挡羞漫画免费阅读 | av在线色| 国产国语在线播放视频 | 国内精品久久久久影院男同志 | 涩涩电影网 | 国产97精品久久久天天A片 | 秋霞特色大片18岁入口 | 亚洲欧美无码2017在线 | 亚洲综合免费视频 | 亚洲午夜AV久久久精品影院色戒 | 天天爽夜夜爽夜夜爽 | 99热在线免费观看 | freehd另类xxxx喷水 | 久久学生精品国产自在拍 | 亚洲精品久久久午夜福利电影网 | 99精品视频在线观看 | 精品四虎国产在免费观看 | 国产亚洲精品久久777777 | 久久这里只精品国产99re66 |