欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php 中英文截取

劉姿婷1年前4瀏覽0評論

PHP在網站開發中扮演著重要的角色,而其中英文/中文截取常常涉及到多種字符串操作,接下來我們就讓我們一起來了解一下關于PHP中英文截取的方法。

關于英文截取,可以使用PHP自帶函數substr()方法,為此,我們可以通過以下代碼來進行相關操作:

$str = "Hello, world!";
$sub = substr($str, 0, 5);
echo $sub; // 輸出"Hello"
其中,參數1是截取的字符串的原文,參數2是從第幾個字符開始截取,參數3是截取的字符數目。

但是當需要截取中文字符串時,上述方法便不能滿足需求。因為中文字符編碼與英文有所不同,中文字符通常占據2-4個字節,因此截取中文字符串就需要使用字節長度進行計算,可以使用mb_substr()函數來截取中文字符串,代碼如下:

$str = "小唐是一位優秀的AI助手!";
$sub = mb_substr($str, 0, 3, "utf-8");
echo $sub; // 輸出"小唐是"
其中,參數1是截取的字符串的原文,參數2是從第幾個字符開始截取,參數3是截取的字符數目,參數4是指定截取字符編碼。

但是有一種特殊情況,如果需要將中英文混雜的字符串按照指定字節數進行截取,則需要使用特殊函數進行處理,以下代碼實現了指定字節數截取字符串:

function strCut($str, $length) {
if (strlen($str) < $length) {
return $str;
}
$str = strip_tags($str);
$str = preg_replace('/\n/is', '', $str);
$str = preg_replace('/ | /is', '', $str);
$str = preg_replace('/ /is', '', $str);
$str = preg_replace('/\r/is', '', $str);
$count = 0;
$newStr = '';
while ($count < $length) {
$temp = substr($str, 0, 1);
if (ord($temp) > 127) {
$newStr .= substr($str, 0, 3);
$str = substr($str, 3);
} else {
$newStr .= substr($str, 0, 1);
$str = substr($str, 1);
}
$count++;
}
return $newStr . '...';
}
其中,$str參數表示需要截取的字符串,$length參數表示需要截取的字節數目。

總結以上方法,均通過函數實現了字符串的快速截取。根據需求不同,我們需要使用不同的函數來實現不同的截取方式。