當前位置:首頁 > PHP教程 > php高級應用 > 列表

PHP截取中文字符串不出現?號怎么辦

發布:smiling 來源: PHP粉絲網  添加日期:2018-10-26 10:05:30 瀏覽: 評論:0 

本文實例講述了PHP實現截取中文字符串不出現?號的解決方法,分享給大家供大家參考,具體如下:

當PHP截取中英文混合字符串時,最后一個漢字經常被拆成兩半,例:截取字符串的前18個字,代碼如下:

  1. <?php 
  2. $text="1歡迎訪問sina新浪播客"
  3. $value=substr($text, 0, 18); 
  4. echo$value."<BR>"
  5. ?> 

輸出為結果為:

1歡迎訪問新浪?BR>

于是寫了以下這段代碼,判斷如果中英文混合字符串中的漢字字節數為奇數,則少截取一個字節,保證漢字顯示完整,代碼如下:

  1. <?php 
  2. $text="1歡迎訪問sina新浪播客"
  3. $value=substr($text, 0, 18); 
  4. $value_length=strlen($value); 
  5. $value_count= 0; 
  6. for($i= 0;$i<$value_length;$i++) 
  7.   if(ord($value{$i}) > 127) 
  8.   { 
  9.     $value_count++; 
  10.   } 
  11. if($value_count% 2 != 0) 
  12.   $value=substr($text, 0,$value_length- 1); 
  13. echo$value."<BR>"
  14. ?> 

輸出為結果為:

歡迎訪問sina新浪

Tags:

分享到:

广西快3最大遗漏值统计表