php按字符分割字符串,php – 如何按字符分割字符串,注意特殊字符

我试图按字符爆炸字符串,但我遇到了特殊字符问题.

我目前正在使用以下功能:

$input = "Comment ça va?";

$array_input = str_split($input, 1);

print_r($array_input);

?>

这是输出:

Array (

[0] => C [1] => o [2] => m [3] => m [4] => e

[5] => n [6] => t [7] => [8] => � [9] => �

[10] => a [11] => [12] => v [13] => a [14] => ? )

我对换行符也有同样的问题:

输入:

“是他!OUI?”

输出:

Array ( [0] => H [1] => � [2] => � [3] => ! [4] =>

[5] => [6] => O [7] => u [8] => i [9] => ? )

有没有人有这个问题的解决方案?

非常感谢.

解决方法:

str_split与Unicode字符串有问题.

您可以在preg_split中使用u修饰符

例如:

$input = "Comment ça va?";

$letters1 = str_split($input);

$letters2 = preg_split('//u', $input, -1, PREG_SPLIT_NO_EMPTY);

print_r($letters1);

print_r($letters2);

会输出

Array ( [0] => C [1] => o [2] => m [3] => m [4] => e

[5] => n [6] => t [7] => [8] => � [9] => �

[10] => a [11] => [12] => v [13] => a [14] => ? )

Array ( [0] => C [1] => o [2] => m [3] => m [4] => e

[5] => n [6] => t [7] => [8] => ç [9] => a

[10] => [11] => v [12] => a [13] => ? )

标签:php,string,split

来源: https://codeday.me/bug/20190902/1789267.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值