PHP:如何拆分 UTF-8 字符串?

标签 php string utf-8 split preg-split

<分区>

我的以下代码不适用于 UTF-8 字符。我该如何解决?

$seed = preg_split('//u', $seed, -1, PREG_SPLIT_NO_EMPTY);
$seed = str_split('АБВГДЕЖЗ'); // and any other characters

shuffle($seed); // probably optional since array_is randomized; this may be redundant
$code = '';
foreach (array_rand($seed, 5) as $k) $md5_hash .= $seed[$k];

//We don't need a 32 character long string so we trim it down to 5 
$security_code = $code;

我试过这段代码:

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

但还是不行。

最佳答案

您必须先创建变量$seed 并给它一个字符串值,然后才能将其用作preg_split 的第二个参数:

$seed = 'АБВГДЕЖЗ';
$seed = preg_split('//u', $seed, -1, PREG_SPLIT_NO_EMPTY);

print_r($seed) 的输出将是:

Array
(
    [0] => А
    [1] => Б
    [2] => В
    [3] => Г
    [4] => Д
    [5] => Е
    [6] => Ж
    [7] => З
)

我希望您的其余代码能够正常工作。

关于PHP:如何拆分 UTF-8 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21653033/

相关文章:

php - 我无法上传图片 php 一切正常,但上传失败

php - 从名称中包含冒号和斜杠的 PHP 对象获取数据

java - 在数组中搜索特定字符串

java - Java 9 中的字符串连接是如何实现的?

r - 关于 roxygen2 UTF-8 的警告

c - Emacs、xterm、鼠标垫、C、Unicode 和 UTF-8 : Trying to make sense of it all

php - Git 在 merge 分支时混合两个函数

java - 从不规则的二维字符串数组中删除字符串并在此过程中缩短数组

python - WTForms 上的 UnicodeDecodeError

javascript - 使用ajax从文本框中的php变量获取特定值