除了用正则提取字符串,还有什么办法? 给你两个函数strstr()str_replace() 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /** *此函数只支持utf-8格式的中文字符截取*/ function subString_UTF8($str, $start, $lenth) { $len = strlen($str); $r = array(); $n = 0; $m = 0; for($i = 0; $i < $len; $i++) { $x = substr($str, $i, 1); $a = base_convert(ord($x), 10, 2); $a = substr('00000000'.$a, -8); if ($n < $start){ if (substr($a, 0, 1) == 0) { }elseif (substr($a, 0, 3) == 110) { $i += 1; }elseif (substr($a, 0, 4) == 1110) { $i += 2; } $n++; }else{ if (substr($a, 0, 1) == 0) { $r[ ] = substr($str, $i, 1); }elseif (substr($a, 0, 3) == 110) { $r[ ] = substr($str, $i, 2); $i += 1; }elseif (substr($a, 0, 4) == 1110) { $r[ ] = substr($str, $i, 3); $i += 2; }else{ $r[ ] = ''; } if (++$m >= $lenth){ break; } } } return $r; } // End subString_UTF8;$cat="Hi你好吗1236456";$regs = subString_UTF8($cat,1,3);echo join('',$regs); $cat="Hi你好吗1236456";echo substr(trim($cat),1,3); $cat="Hi你好吗1236456";echo substr(trim($cat),1,3); 注意的是 汉字默认为2字节 谁能用phpmyadmin帮我建张表呢 php数组问题 急 高手指点 求助:怎么验证密码? 关于排名问题 如何获取 js 输入的 内容呢 递归小程序 高手看过来,php作为CGI模式所遇到的we难题 php如何区分每个请求 页面已经下载完了,可是进度条才显示那么一点,郁闷 急!!!有对php源程序加密的代码请进。送100分。 求一正则表达式,在线等,OK马上给分 急!控制上传格式的代码!
*此函数只支持utf-8格式的中文字符截取
*/ function subString_UTF8($str, $start, $lenth)
{
$len = strlen($str);
$r = array();
$n = 0;
$m = 0;
for($i = 0; $i < $len; $i++) {
$x = substr($str, $i, 1);
$a = base_convert(ord($x), 10, 2);
$a = substr('00000000'.$a, -8);
if ($n < $start){
if (substr($a, 0, 1) == 0) {
}elseif (substr($a, 0, 3) == 110) {
$i += 1;
}elseif (substr($a, 0, 4) == 1110) {
$i += 2;
}
$n++;
}else{
if (substr($a, 0, 1) == 0) {
$r[ ] = substr($str, $i, 1);
}elseif (substr($a, 0, 3) == 110) {
$r[ ] = substr($str, $i, 2);
$i += 1;
}elseif (substr($a, 0, 4) == 1110) {
$r[ ] = substr($str, $i, 3);
$i += 2;
}else{
$r[ ] = '';
}
if (++$m >= $lenth){
break;
}
}
}
return $r;
} // End subString_UTF8;
$cat="Hi你好吗1236456";
$regs = subString_UTF8($cat,1,3);
echo join('',$regs);
echo substr(trim($cat),1,3);
echo substr(trim($cat),1,3); 注意的是 汉字默认为2字节