<?php
header("Content-Type: text/html; charset=UTF-8");
$str = "这是一段中文字符串";
$str = "ThisisaChinesestring";
function str_replace_cn($str, $start, $length ){
if(preg_match("/[\x7f-\xff]/", $str)){
if(is_utf8($str)){
return substr_replace($str,'**',$start*3, $enlengthd*3);
}else{
return substr_replace($str,'**',$start*2, $enlengthd*2);
}
}else{
return substr_replace($str,'**',$start, $enlengthd);
}
}
function is_utf8($word){
if(preg_match("/^([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}$/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){2,}/",$word) == true) {
return true;
}else {
return false;
}
}
echo str_replace_cn($str, 3, 1 );
?>
授人以鱼,不如授之以渔
中文:是utf8的需要替换3个字节,不是utf8替换2个字节 ,不是中文的:替换一个字节