PHP如何截取字符串 <?php echo substr("She is a well-read girl",0); //从第6个字符开始截取 echo "<br>"; echo substr("She is a well-read girl",4,14); //从第4个字符开始连续截取14个字符 echo "<br>"; echo substr("She is a well-read girl",-4,4); //从倒数第4个开始截取4个字符 echo "<br>"; echo substr("She is a well-read girl",0,-4); //从第一个字符开始截取,截取到倒数第4个字符 ?>
//结果:这样一来我的字
echo "
";echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8');
//结果:这样
?>
<?php
//此函数完成带汉字的字符串取串
function substr_CN($str,$mylen){
$len=strlen($str);
$content='';
$count=0;
for($i=0;$i<$len;$i++){
if(ord(substr($str,$i,1))>127){
$content.=substr($str,$i,2);
$i++;
}else{
$content.=substr($str,$i,1);
}
if(++$count==$mylen){
break;
}
}
echo $content;
} $str="34中华人民共和国56";
substr_CN($str,3);//输出34中
?>
<?php
echo substr("She is a well-read girl",0); //从第6个字符开始截取
echo "<br>";
echo substr("She is a well-read girl",4,14); //从第4个字符开始连续截取14个字符
echo "<br>";
echo substr("She is a well-read girl",-4,4); //从倒数第4个开始截取4个字符
echo "<br>";
echo substr("She is a well-read girl",0,-4); //从第一个字符开始截取,截取到倒数第4个字符
?>
$content.=substr($str,$i,2);
$i++;在解决中文还是可以的ASCII是一个字节的编码,所以else{
$content.=substr($str,$i,1);
}其实完全可以把if(ord(substr($str,$i,1))>127再细化一下,毕竟大于127的不仅仅是汉字,比如可以在此用正则匹配
if(preg_match('#[\x{4e00}-\x{9fa5}]#u', $string, $match))来进行判断,中文的范围在\x4e00---\x9fa5范围内