×

php全角字符

php全角字符(php字符串所有组合)

admin admin 发表于2023-03-30 06:10:08 浏览80 评论0

抢沙发发表评论

本文目录一览:

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 如何取出一段字符串里的全角符号 ? 详细如下

取出一段字符串里的全角符号.干嘛?

可以过滤之前取得啊,然后在处理嘛

说详细点儿。