2009/08/04

【PHP】正確的裁切 UTF-8 字串

(撰寫於 2007-03-29 )

當首頁的新聞標題太長,僅需要抓取部份字串的時候,會發現使用 substr( ) 常常會讓最後一個字破損。

這時候可以用 mb_substr ( $str, $start , $length , $encoding ) 來代替 substr( )
如果你的網頁編碼是 UTF-8, $encoding 參數就填上 UTF-8,其他語系亦然


舉例來說....

網頁編碼:UTF-8
原始標題:2007寒假心靈成長小學
抓取 :前6個字元
使用 substr(),抓到的會是 "2007寒假�"
而使用 mb_substr,就可以正確的抓到 "2007寒假"

//去除html符號
$Title=strip_tags($Title);
$Title=str_replace(' ','',$Title);
if(mb_strlen($Title,'utf-8')>6)
{
$Title=mb_substr($Title,0,6,'utf-8').'..';
}

沒有留言:

張貼留言

Web 技術中的 Session 是什麼?

轉載原文:  Web 技術中的 Session 是什麼? 本文目標 在 Web 的世界裡,Session 已經是被廣泛使用的一種技術,大多數的 Web 開發者,肯定都能運用自如。在現今的各類 Web 應用程式的開發框架和工具中,Session 也已經被包裝成容易使用的模...