<?
$s = "【黑龙江省】";
$s = str_replace(array("\r","\n","\t"," ") , " " ,$s);
echo $s;
?>
多了一个空格,现在好了
$s = "【黑龙江省】";
$s = str_replace(array("\r","\n","\t"," ") , " " ,$s);
echo $s;
?>
多了一个空格,现在好了
解决方案 »
- 几个CURL的问题求解
- php程序调试出错?新手求助
- 关于session登陆并得到当前登陆人id
- 关于html_entity_decode和createTextNode的问题
- php读取二进制文件流乱码,有答案就结贴
- php高手请指教新手!php实现工程牌游戏当中多个用户同一界面的交互
- 请教正则“/\d/”和“/[\d]/”之间的区别?
- 请教:PHP 无法与MYSQL数据库连接。先谢谢了。
- PHP能不能这样啊?请高手指教!!
- file_get_contents 出现failed to open stream: HTTP request failed!
- 哪有PHPLIB摸版详细教程?
- 请教一个简单的问题。
另外php环境原因不能使用mbstring
但是这个是我经常在C程序里写的就是 ASC码过滤法
指定 合法 ASC范围
指定非法 ASC范围
然后字符传循环过滤
{
$returnstr='';
$i=0;
$n=0;
$str_length=strlen($sourcestr);//字符串的字节数
while (($n<$cutlength) and ($i<=$str_length))
{
$temp_str=substr($sourcestr,$i,1);
$ascnum=Ord($temp_str);//得到字符串中第$i位字符的ascii码
if ($ascnum>=224) //如果ASCII位高与224,
{
$returnstr=$returnstr.substr($sourcestr,$i,3); //根据UTF-8编码规范,将3个连续的字符计为单个字符
$i=$i+3; //实际Byte计为3
$n++; //字串长度计1
}
elseif ($ascnum>=192) //如果ASCII位高与192,
{
$returnstr=$returnstr.substr($sourcestr,$i,2); //根据UTF-8编码规范,将2个连续的字符计为单个字符
$i=$i+2; //实际Byte计为2
$n++; //字串长度计1
}
elseif ($ascnum>=65 && $ascnum<=90) //如果是大写字母,
{
$returnstr=$returnstr.substr($sourcestr,$i,1);
$i=$i+1; //实际的Byte数仍计1个
$n++; //但考虑整体美观,大写字母计成一个高位字符
}
else //其他情况下,包括小写字母和半角标点符号,
{
$returnstr=$returnstr.substr($sourcestr,$i,1);
$i=$i+1; //实际的Byte数计1个
$n=$n+0.5; //小写字母和半角标点等与半个高位字符宽...
}
}
if ($str_length>$cutlength){
$returnstr = $returnstr . "...";//超过长度时在尾处加上省略号
}
return $returnstr; }
网上找到的.我用过不错