本文目录一览:
- 1、PHP里要将一段数据里中文间的逗号换成全角的,应该如何做
- 2、php如何判断是字符串全角还是半角
- 3、PHP如何不区分全角加号和半角加号分割字符串
- 4、php截取字符串之截取utf8或gbk编码的中英文字符串示例
- 5、PHP 如何取出一段字符串里的全角符号 ? 详细如下
PHP里要将一段数据里中文间的逗号换成全角的,应该如何做
function 一个方法。
例如
$str 要转换的字符串
function phpstrtr ($str){
$tr=array(
','=',');
return strtr($str, $tr);
}
php如何判断是字符串全角还是半角
第一步:新建程序
使用Dreamweaver或记事本新建一个PHP程序,这是所有开发必须经过的开始,然后输入测试段代码(Hello World!),并运行。
第二步:输入英文分号并运行
为了便于后面的比较,在编辑器新增一个div标签并做对齐,输入文字:我是英文PHP的分号(;),并在浏览器中运行
第三步:对比输入中文分号再运行
接着输入一段文字,我是中文PHP的分号(;),在浏览器中运行,并作比较,中文分号比英文分号更大更宽
第四步:输入英文半角并运行
在编辑器中新增一个div标签,输入文字:我是PHP的半角写法:php,并运行,并记录
第五步:全半角及中英文切换
很多非专业的人不会切换全半角,切换全半角方式为Shift+Space键盘,也可以点击输入法切换
第六步:输入英文全角再运行
同理,在编辑器中输入文字:我是PHP全角写法:php,并运行,比较全半角的区别(注:全角只在英文小写字母才有作用),全角字符宽度明显大于半角。
第七步:对比全角和半角
全角字符占位大于半角。
第八步:对比中文和英文
英文符号再大小以及占位宽度比中文符号小
PHP如何不区分全角加号和半角加号分割字符串
?php
$string = 'aaaa+bbbb+ccc';
$strig = str_replace('+', '+', $string);
$array = explode('+', $strig);
print_r($array);
?
有木有全角加号都采用替换的方式 先把全角加号替换成半角加号,在分割成数组
望采纳 Thx
php截取字符串之截取utf8或gbk编码的中英文字符串示例
php中自带strlen是返回的字节数,对于utf8编码的中文返回时3个,不满足需求,下面给大家提供一个方法来完成这样的功能
微博的发言有字数限制,其计数方式是,中文算2个,英文算1个,全角字符算2个,半角字符算1个。
php中自带strlen是返回的字节数,对于utf8编码的中文返回时3个,不满足需求。
mb_strlen
可以根据字符集计算长度,比如utf8的中文计数为1,但这不符合微博字数限制需求,中文必须计算为2才可以。
google了下,找到一个discuz中截取各种编码字符的类,改造了下,已经测试通过.其中参数$charset
只支持gbk与utf-8。
代码如下:
$a
=
"s@@你好";
var_dump(strlen_weibo($a,'utf-8'));
结果输出为8,其中字母s计数为1,全角@计数为2,半角@计数为1,两个中文计数为4。源码如下:
代码如下:
function
strlen_weibo($string,
$charset='utf-8')
{
$n
=
$count
=
0;
$length
=
strlen($string);
if
(strtolower($charset)
==
'utf-8')
{
while
($n
$length)
{
$currentByte
=
ord($string[$n]);
if
($currentByte
==
9
||
$currentByte
==
10
||
(32
=
$currentByte
$currentByte
=
126))
{
$n++;
$count++;
}
elseif
(194
=
$currentByte
$currentByte
=
223)
{
$n
+=
2;
$count
+=
2;
}
elseif
(224
=
$currentByte
$currentByte
=
239)
{
$n
+=
3;
$count
+=
2;
}
elseif
(240
=
$currentByte
$currentByte
=
247)
{
$n
+=
4;
$count
+=
2;
}
elseif
(248
=
$currentByte
$currentByte
=
251)
{
$n
+=
5;
$count
+=
2;
}
elseif
($currentByte
==
252
||
$currentByte
==
253)
{
$n
+=
6;
$count
+=
2;
}
else
{
$n++;
$count++;
}
if
($count
=
$length)
{
break;
}
}
return
$count;
}
else
{
for
($i
=
0;
$i
$length;
$i++)
{
if
(ord($string[$i])
127)
{
$i++;
$count++;
}
$count++;
}
return
$count;
}
}
PHP 如何取出一段字符串里的全角符号 ? 详细如下
取出一段字符串里的全角符号.干嘛?
可以过滤之前取得啊,然后在处理嘛
说详细点儿。