php切割包含中文,php 分割

本文目錄一覽:

[php]如何在PHP中截取中文字串無亂碼

一年前寫的一個函數。用法與substr一樣,支持中文。您也可以加以改進。

//截取字元串含數,對系統函數的改進,不會將中文變亂。

function mysubstr ($str,$start,$len=0,$cutchar=”…”) {

$str=str_replace(” “,’ ‘,$str);

$str=str_replace(“「”,’「’,$str);

$str=str_replace(“」”,’」’,$str);

$str=str_replace(“—”,’—’,$str);

$str=str_replace(“””,'”‘,$str);

$str=str_replace(”’,”‘”,$str);

$str=str_replace(“”,”,$str);

$str=str_replace(“”,”,$str);

$str=str_replace(“”,”,$str);

$str=preg_replace(“/[\s]+/”,” “,$str);

$tolen=strlen($str);

if(!($start==0 $len=$tolen)){

//為方便操作,先將起始值和長度值轉換為正數

if($start0)$start=$tolen+$start;if($start0)$start=0;if($start$tolen)return “”;

if($len=0)$len=($tolen+$len)-$start;if($len1)return “”;

if($len$tolen)$len=$tolen;

for($i=0;$i$start;$i++){

if(ord(substr($str,$i,1))127){$i++;}

}

$start=$i; //起始位置計算完成

for($k=0;$k$len;$k++,$i++){

if(ord(substr($str,$i,1))127){$i++;$k++;}

}

$len=$k; //長度計算完成

$str=substr($str,$start,$len);

if($start0){$str=$cutchar.$str;}

if($start+$len$tolen){$str.=$cutchar;}

}

$str=str_replace(“”,”,$str);

$str=str_replace(‘”‘,'”‘,$str);

$str=str_replace(“‘”,”’,$str);

$str=str_replace(“”,”,$str);

$str=str_replace(“”,”,$str);

return $str;

}

如何利用PHP來截取一段中文字元串而不出現亂碼

/*

功能:截取全形和半形混合的字元串以避免亂碼

參數:

$str_cut 需要截斷的字元串

$length  允許字元串顯示的最大長度

*/

function substr_cut($str_cut,$length = 30){ 

if (strlen($str_cut) ; $length){

  for($i=0; $i  $length; $i++)

   if (ord($str_cut[$i]) ; 128) $i++;

  $str_cut = substr($str_cut,0,$i) . “…”;

}

return $str_cut;

}

說明: 

程序的關鍵語句是: 

for($i=0; $i  $length; $i++)

if (ord($str_cut[$i]) ; 128) $i++;

$str_cut = substr($str_cut,0,$i) . “…”;

如果字元的ASCII碼大於128,說明當前字元和下一個字元是屬於一個漢字的。 

則,$i++ 跳過對下一個字元的判斷。 

再結合循環中的 $i++ ,實際上,當遇到一個漢字時,$i 就會加 2 ,從而正確的跳過漢字。 

最終實現的效果是,$i 變數指向的要麼是半形的字元,要麼是全形漢字的首字元,不會指向 

全形漢字的第二個字元,所以,當$i ;= $length 時,循環結束,使用 

$str_cut = substr($str_cut,0,$i) . “…”; 截取字元時自然也就不會出現亂碼了。 

本人在寫一個程序時需要利用PHP從一段字元串中截取指定長度的一段字元下來。以前在寫ASP的時候,參考動網的程序寫過類似的程序,不過,還沒用PHP寫過。 

想偷懶,看有不有現成的代碼可以用。於是,在GOOGLE中輸入:PHP 截斷字元 後查找到一段代碼。

PHP 如何實現按字數分割中英文混雜字元串成數組

以下是我編寫的代碼,實現對中英文混雜字元進行分割:

?php

function mbStrSplit ($string, $len=1) {

$start = 0;

$strlen = mb_strlen($string);

while ($strlen) {

$array[] = mb_substr($string,$start,$len,”utf8″);

$string = mb_substr($string, $len, $strlen,”utf8″);

$strlen = mb_strlen($string);

}

return $array;

}

header(‘Content-type:text/html;charset=utf-8’);

$str = ‘我愛北京3我愛上海-我愛xianggang’;

$r = mbStrSplit($str, 4);

echo ‘pre’;

print_r($r);

echo ‘/pre’;

?

運行結果:

Array

(

[0] = 我愛北京

[1] = 3我愛上

[2] = 海-我愛

[3] = xian

[4] = ggan

[5] = g

)

PHP 中用 explode 函數切割中文字元串,會出現亂碼.如何解決

亂碼指的是計算機系統不能顯示正確的字元,而顯示其他無意義的字元或空白,如一堆ASCII Code。所顯示出來的文字統稱為亂碼。亂碼是因為所使用的字元的源碼在本地計算機上使用了錯誤的顯示字型檔,或在本地計算機的字型檔中找不到相應於源碼所指代的字元所致。

通俗點講:

亂碼就是你打開王頁或郵箱,裡面的字不是全中文的,而是一些亂七八糟莫名其妙的無意義的字元組合在一起。主要是計算機的字型檔出錯所致。

1一般出現在網頁,用網頁上面的查看——編碼——簡體中文即可解決。

2 出現亂碼一般是Windows系統字型檔的問題,可能是系統錯誤或不正常關機造成的,也可能是某些軟體需要使用操作系統以外的字型檔造成的。解決辦法得看具體的問題,一般情況下的Windows亂碼可以通過以下三種方法解決。

第一種方法是下載 解決Windows XP SP2亂碼補丁 V1.00 (華軍軟體園)

第二種是解決Windows系統錯誤造成的亂碼問題,重啟後用F8鍵激活系統菜單,進入安全模式。等系統檢查完畢,硬碟沒有響應後再重新正常退出並重新啟動計算機,正常進入Windows,字體一般就能自動恢復。這是因為Windows在進入安全模式時會重新索引字型檔及整理菜單。

第三種解決方法用於修正軟體造成的註冊表中關於字體部分設置出錯的問題。運行「Regedit」啟動註冊表編輯器。在「HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\fontassoc」鍵下有 「Associated CharSet」和「Associated DefaultFonts」 兩個鍵。當出現漢字亂碼時,這兩個鍵中的內容就可能不正確甚至不完整。它們的正確內容應該是「Associated CharSet」內有「(默認)、ANSI(00)、GB2312(86)、OEM(FF)、SYMBOL(02)」幾項串值,鍵值分別為「(未設置鍵值)、Yes、Yes、Yes、No」,而「Associated DefaultFonts」內有「(默認)、AssocSystemFont、FontPackegeDecorative、FontPackegeDontCare、FontPackegeModern、FontPackegeRoman、FontPackegeScript、FontPackegeSwiss」幾項串值,鍵值分別為「(未設置鍵值)、simsun.ttf、宋體、宋體、宋體、宋體、宋體、宋體」。重新啟動系統後漢字就應該顯示正確了。建議您在修改前先備份註冊表,以防修改錯誤使系統出現問題。

原創文章,作者:WHWE,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/148480.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
WHWE的頭像WHWE
上一篇 2024-11-03 15:16
下一篇 2024-11-03 15:16

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python讀取中文

    Python是一種高級編程語言,被廣泛地應用於各種領域中。而處理中文數據也是其中重要的一部分。本文將介紹在Python中如何讀取中文,為大家提供指導和幫助。 一、讀取中文文件 在P…

    編程 2025-04-29
  • jQuery Datatable分頁中文

    jQuery Datatable是一個非常流行的數據表插件,它可以幫助您快速地在頁面上創建搜索、過濾、排序和分頁的數據表格。不過,它的默認設置是英文的,今天我們就來探討如何將jQu…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python計算中文字元個數

    本文將從多個方面對Python計算中文字元個數進行詳細的闡述,包括字元串長度計算、正則表達式統計和模塊使用方法等內容。 一、字元串長度計算 在Python中,計算字元串長度是非常容…

    編程 2025-04-29
  • Python3亂碼轉中文

    本文將詳細介紹如何轉換Python3中的亂碼為中文字元,幫助Python3開發工程師更好的處理中文字元的問題。 一、Python3中文亂碼的原因 在Python3中,中文字元使用的…

    編程 2025-04-29
  • 從16進位轉義到中文字元

    16進位轉義是為了在不同的字符集、不同的編碼下,能夠保證特殊字元被正確的識別和渲染。本文將從多個方面對16進位轉義做詳細的闡述,讓讀者對其有更深入的了解。 一、轉義實現 在Web開…

    編程 2025-04-28
  • opendistroforelasticsearch-kibana的中文應用

    本文將介紹opendistroforelasticsearch-kibana在中文應用中的使用方法和注意事項。 一、安裝及配置 1、安裝opendistroforelasticse…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python IDLE如何設置中文運行環境

    Python IDLE是Python的集成開發環境,使用它可以方便地編寫、調試和執行Python程序。但是,默認情況下Python IDLE的運行環境是英文環境,如果需要在Pyth…

    編程 2025-04-27

發表回復

登錄後才能評論