php中文字串截取 php截取中文字串的程式碼
php截取中文字串,一般就是根據值是否大於等於128來判斷是否是雙字節字符,以避免出現截取不全與亂碼的情況。
不過,遇到中英文混合、特殊符號也包含其中的情況時,問題就沒那麼容易解決了。
以下是一個全面解決中文字串截取問題的函數,有需要的朋友可以參考下。
說明:
1、len 參數以中文字符為標準,1len等於2個英文字符,為了形式上好看些
2、如果將magic參數設為false,則中文和英文同等看待,取絕對的字符數
3、特別適用於用htmlspecialchars()進行過編碼的字串
4、能正確處理GB2312中實體字元模式(??)
範例:
/**
@移除中文字串 適用於GB2312編碼
@http://www.jbxue.com
unc/ FSubstr($title,$start,$len="",$magic=true)
{
$length = 0;
if($len == "") $len = strlen($title);
///判斷起始為不正確位置
if($start > 0)
{
$cnum = 0;
for($i=0;$i{
if(ord(substr(pstr title,$i,1)) >= 128) $cnum ++;
}
if($cnum%2 != 0) $start--;
unset($cnum);
}
unset($cnum);
}
if( ($title)
$alen = 0;
$blen = 0;
$realnum = 0;
for($i=$ start;$i
$ctype = 0;
$cstep = 0;
$cur = substr($title,$i,1);
if($cur == "&")
{
if(substr($title,$i,4) == "{
$cstep = 4;
$lengoo ++;
if($magic)
{
$alen ++;
}
}
else if(substr($title,$i,4) == ">")
{ $length += 4;
$i += 3;
$realnum ++;
if($magic)
{
$alen ++;
}
}
$alen ++;
}
}
$alen ++;
}
}
) == "&")
{
$cstep = 5;
$length += 5;
$i += 4;
$realnum ++;
if($magic)
}
}
else if(substr($title,$i,6) == """)
{
$cstep = 6;
$leng 6;
$i += 5; ;
if($magic)
{
$alen ++;
}
}
else if(substr($title,$i,6) == "'")
{ += 6;
$i += 5;
$realnum ++;
if($magic)
{
$alen ++;
}
}
$alen ++;
}
}
else if(preg_match( i",substr($title,$i,8),$match))
{
$cstep = strlen($match[0]);
$length += strlen($match[0]);
$i += strlen($match[0])-1;
$realnum ++;
if($magic)
{
$blen ++;
$ctype = 1;
}
}
} ord($cur)>=128)
{
$cstep = 2;
$length += 2;
$i += 1;
$realnum ++;
if($i += 1;
$realnum ++;
if($ ;
$ctype = 1;
}
}else{
$cstep = 1;
$length +=1;
$realnum ++;
if($magic)
if($magic)
{
if(($blen*2+$alen) == ($len*2)) break;
if(($blen*2+$alen) == ($len* 2+1))
{
if($ctype == 1)
{
$length -= $cstep;
break;
}else{
break> = $len) break;
}
}
unset($cur);
unset($alen);
unset($blen);
unset($realnum);
unset($blen);
unset($realnum);
cstep);
return substr($title,$start,$length);
}
?>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

CakePHP 是 PHP 的開源框架。它旨在使應用程式的開發、部署和維護變得更加容易。 CakePHP 基於類似 MVC 的架構,功能強大且易於掌握。模型、視圖和控制器 gu

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

CakePHP 是一個開源MVC 框架。它使應用程式的開發、部署和維護變得更加容易。 CakePHP 有許多函式庫可以減少大多數常見任務的過載。

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲
