php截取中文
『壹』 php中如何截取中文字元串
如果是UTF-8字元編碼的,應該是每個中文字元佔三個字元位,
比如$a = "還好吧";
substr($a, 3, 3);//輸出「好」,
注意$a賦值的時候要麼都是中文字元(包括標點),如果有英文字元標點會影響
『貳』 php截取指定中文字元串
$str = "冒號之前的內容 天氣預報: 冒號之後的內容";
$arr=explode("天氣預報:",$str);
$result=$arr[1];
『叄』 php 截取兩個中文字中間的字元串 怎麼實現
<?php
header('Content-Type:text/html;charset=utf-8');
$str="網路知道提了截取中文字元串的問題";
$t1=mb_strpos($str,'提');
$t2=mb_strpos($str,'串');
echo$s=mb_substr($str,$t1,$t2-$t1);
『肆』 php中截取中文字元串方法
mb_substr — 獲取部分字元串
說明
mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] ) : string
根據字元數執行一個多位元組安全的 substr() 操作。 位置是從 str 的開始位置進行計數。 第一個字元的位置是 0。第二個字元的位置是 1,以此類推。
參數
str
從該 string 中提取子字元串。
start
如果 start 不是負數,返回的字元串會從 str 第 start 的位置開始,從 0 開始計數。舉個例子,字元串 'abcdef',位置 0 的字元是 'a',位置 2 的字元是 'c',以此類推。
如果 start 是負數,返回的字元串是從 str 末尾處第 start 個字元開始的。
length
str 中要使用的最大字元數。如果省略了此參數或者傳入了 NULL,則會提取到字元串的尾部。
encoding
encoding 參數為字元編碼。如果省略,則使用內部字元編碼。
『伍』 PHP截取漢字 保留完整的HTML
這是我前一陣回答的,用ASP寫的一個「無損截取HTML格式文本」的函數,你自己把它改寫成PHP的就可以了:
http://..com/question/131310886.html
『陸』 php截取中文字元串
PHP中文
亂碼
的原因及解決方法
原因:1.PHP頁面語言本身的編碼類型不合適,這時候,你直接在腳本中寫的中文肯定是亂碼,不用說資料庫了;
解決方法:選擇'
UTF8
'或者'gb2312',這樣客戶瀏覽器會自動選擇並出現正確的中文顯示。注意:'UTF8'或者'gb2312'都可以正確顯示中文的。
2.資料庫MySQL中的編碼類型不正確。
解決方法:創建資料庫的時候,MySQL
字元集
選擇'UTF8',MySQL
連接校對選擇utf8_general_ci,這樣創建的資料庫用來存儲中文肯定沒有問題,
否則,你的中文首先在MySQL中就是亂碼,更不要期望它會給你在PHP頁面中顯示正確。
3.與平時的腳本編輯環境有關。比如,有些內容是自己用word寫的,有些是用記事本寫的,有些用editplus、ultraplus等
文本編輯器
。有時候就直接在DW中寫中文了,
這樣做不出亂碼才怪呢。
解決方法:盡量用同一種編輯器。如果是拷貝來得既有的內容,建議用ultraplus中的編碼轉換功能把它轉換成utf8或者gb2312。
到底轉換成什麼類型並不重要,關鍵要求你的PHP
WEB應用程序
中的編碼要一致就行。
4.編程訪問
MySQL時,建議添加一行代碼:mysql_query("SET
NAMES
'GBK'");
這是解決方法
我沒看
懂你
貼上來的程序
所以給你一些方法去解決亂碼的問題
希望可以幫得上
『柒』 PHP截取中文字元問題
<?php
$string
=
"這是中文數字";
$mystring=mb_substr($string,0,3,'GB2312');
echo
$mystring;
//這樣就會輸出:"這是中"三個字
about(1)是什麼?
?>