php5中解決中英文混排字串的函式包括iconv_substr() ,iconv_strpos() ,iconv_strlen()
substr()函式可以分割文字,但要分割的文字如果包括中文字元往往會遇到問題,這時可以用mb_substr()/mb_strcut這個函式,mb_substr()/mb_strcut的用法與substr()相似,只是在mb_substr()/mb_strcut最後要加入多乙個引數,以設定字串的編碼,但是一般的伺服器都沒開啟php_mbstring.dll,需要在php.ini在把php_mbstring.dll開啟。
舉個例子:
<?php
echo mb_substr('這樣一來我的字串就不會有亂碼^_^', 0, 7, 'utf-8');
?>
輸出:這樣一來我的字
<?php
echo mb_strcut('這樣一來我的字串就不會有亂碼^_^', 0, 7, 'utf-8');
?>
輸出:這樣一
從上面的例子可以看出,mb_substr是按字來切分字元,而mb_strcut是按位元組來切分字元,但是都不會產生半個字元的現象。
php5 用此函式: iconv_substr($rs[0][file_info],0,16,"gb2312")
/**
02
* 字串擷取,支援中文和其他編碼
03
*
04
* @static
05
* @access public
06
* @param string $str 需要轉換的字串
07
* @param string $start 開始位置
08
* @param string $length 擷取長度
09
* @param string $charset 編碼格式
10
* @param string $suffix 截斷顯示字元
11
* @return string
12
*/
13
function
msubstr(
$str
,
$start
=0,
$length
,
$charset
=
"utf-8"
,
$suffix
=true)
14
20
$re
[
'utf-8'
] =
"/[/x01-/x7f]|[/xc2-/xdf][/x80-/xbf]|[/xe0-/xef][/x80-/xbf]|[/xf0-/xff][/x80-/xbf]/"
;
21
$re
[
'gb2312'
] =
"/[/x01-/x7f]|[/xb0-/xf7][/xa0-/xfe]/"
;
22
$re
[
'gbk'
] =
"/[/x01-/x7f]|[/x81-/xfe][/x40-/xfe]/"
;
23
$re
[
'big5'
] =
"/[/x01-/x7f]|[/x81-/xfe]([/x40-/x7e]|/xa1-/xfe])/"
;
24
preg_match_all(
$re
[
$charset
],
$str
,
$match
);
25
$slice
= join(
""
,
array_slice
(
$match
[0],
$start
,
$length
));
26
if
(
$suffix
)
return
$slice
.
"…"
;
27
return
$slice
;
28
}
**
手機怎麼進ph 關於pH調整的有效方法
ph的有效調整方法 記住一句話 公升高容易,降低難。濾材的處理 ph值的前期調整 濾材進缸前的處理是最為重要的,通過濾材的前期處理,可以減少後期調整ph的麻煩和風險。方法 把要更換的濾材提前5 7天清洗後放入盆或其他容器中,加水 新增ph調低劑,讓濾材在超低ph值的水中浸泡,中和濾材的鹼性,在24 ...
ph 的使用步驟
arcanist使用者指南windows updated 44 day s ago所有使用者 1安裝php,並且將php安裝目錄加入到path環境變數中 2複製php.ini development檔案為php.ini,並且把extension dir ext extension php curl....
phpstorm xdebug 除錯本地php檔案
phpstorm php檔案斷點除錯功能 xdebug 1 先在php.ini 找到檔案後面的 zend extension 把 php xdebug.dll 這個模組路徑加上去 zend extension e php phpstudy phptutorial php php 5.6.27 nts...