一、步驟:1、計算長度
2、根據長度擷取第一部分字串
3、擷取中間部分字串
4、擷取最後一部分字串或者去掉前兩部分字串
5、替換中間部分字串為星號
6、連線字串
二、**編寫:
/**
* 中文字串中間部分替換(最多替換二分之一)
* @param string $username 中文字串
* @return string 處理後的字串
*/function ceshi($username)
return $firststr1 . str_repeat("*",mb_strlen($firststr,'utf-8')) . $firststr2;
}/**
* 替換字串中的某些字元,僅替換一次,且替換內容必須在原始字串內
* @param string $username 字串
* @param string $find 替換內容
* @param string $replace 目標內容
* @param string 處理後的額字串
*/function str_replace_once($username,$find,$replace)
三、函式解析
1、mb_strlen()
功能:返回字串的長度。優勢: 可以通過設定字元編碼從而返回對應的字元數,很好的處理了中文字串的長度問題。
語法:strlen(string $str,string $encoding)
str:字串內容
encoding:編碼格式 比如:gbk/utf8/gb2312/不填不同的編碼格式對於中文來講長度不一樣,預設為utf8
**例項:
$str='33三三three';
echo strlen($str).'
'; //13 數字+中文+英文=2+6+5
echo mb_strlen($str,'utf8').'
';//9 // 數字+中文+英文=2+2+5
echo mb_strlen($str,'gbk').'
';//10 數字+中文+英文=2+3+5
echo mb_strlen($str,'gb2312').'
';//11 數字+中文+英文=2+4+5
2、mb_substr()
功能:返回字串的一部分,優勢:適用於中文字元的分割
語法:mb_substr ( string $str , int $start , int $length ,string $encoding)
str:字串內容
start:開始位置 正數 - 在字串的指定位置開始;負數 - 在從字串結尾的指定位置開始;0 - 在字串中的第乙個字元處開始
length:長度 正數 - 從 start 引數所在的位置返回 負數 - 從字串末端返回
encoding:編碼 比如:gbk/utf8/gb2312/不填不同的編碼格式對於中文來講長度不一樣,一般配合mb_strlen使用utf8
注意:1)、如果 start 引數是負數且 length 小於或等於 start,則 length 為 0
2)、一般來說僅使用utf8即可
**例項
$str='33三三three';
echo mb_substr($str,0,3,'utf8').'
'; // 33三三
3、str_repeat()
功能:把字串重複指定次數
語法:str_repeat(string $str,int $repeat )
str:字串
repeat:重複次數
**示例
$str='33三三';
echo str_repeat($str,10).'
'; // 33三三33三三33三三33三三33三三33三三33三三33三三33三三33三三
4、mb_stropos()
功能:查詢字串在另一字串中第一次出現的位置(不區分大小寫)
語法:mb_stropos(string $str,string $find,int $start,string $encoding)
str:原始字串
find:查詢內容
start:開始搜尋位置,預設為0
encoding:編碼格式 預設utf8 通常情況下使用utf8
**示例
$str='33三二一';
echo mb_strpos($str,"一",0).'
'; // 4
echo mb_strpos($str,"一",0,'utf8').'
';// 4
echo mb_strpos($str,"一",0,'gbk').'
';// 5
5、substr_replace()
功能:把字串的一部分替換為另乙個字串
語法:substr_replace(string $str,string $replacement,int $start,int $length)
str:字串資訊
replacement:需要替換的字串
start:開始位置
length:長度
**示例
echo substr_replace("天氣晚來秋","沉",3,3); // 天沉晚來秋
注:當為替換漢字時,需要注意乙個漢字三個位元組 php替換字串字元,php如何替換字串裡的字元
php替換字串裡字元的方法 1 通過substr replace函式把字串的一部分替換為另乙個字串 2 使用str replace函式將乙個字串替換字串中的另一些字元。php 字串替換 用於從字串中替換指定字串。str replace 使用乙個字串替換字串中的另一些字元 substr replace...
php 中文字串 危險字串處理
在編輯php時常遇到中文亂碼問題。在此將 php在處理中文時,視為 危險字串 避免 中文亂碼的方法 1.將中文字元進行轉碼。通過 iconv 或 mb convert encoding 兩個方法中的乙個對字串進行編碼處理。2.將中文字串進行替換,將中文替換為其它字串 例如以下方法,將中文替換為 下劃...
php替換字串中,php 字串替換方法
字串替換是開發過程中經常用的資料處理的方式。下面我們就為大家介紹一下php中字元創的替換方法。substr replace 把字串的一部分替換為另乙個字串 str replace 使用乙個字串替換字串中的另一些字元 substr replace substr replace 函式用於把字串的一部分替...