检测字符串中的中文(多字节)字符

发布于 2024-08-07 14:46:44 字数 187 浏览 11 评论 0 原文

$str = "This is a string containing 中文 characters. Some more characters - 中华人民共和国 ";

如何从该字符串中检测到中文字符并打印以第一个字符开头并以“-”结尾的部分? (这将是“中文字符。更多字符-”)。

谢谢你!

$str = "This is a string containing 中文 characters. Some more characters - 中华人民共和国 ";

How do I detect chinese characters from this string and print the part which starts with the first character and ends with "-"? (it would be "中文 characters. Some more characters -").

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

单身情人 2024-08-14 14:46:44

我已经使用 preg_match 和正则表达式解决了这个问题:

$str = "This is a string containing 中文 characters. Some more characters - 中华人民共和国 ";

preg_match(/[\x{4e00}-\x{9fa5}]+.*\-/u, $str, $matches);

I've solved this problem using preg_match and regular expressions:

$str = "This is a string containing 中文 characters. Some more characters - 中华人民共和国 ";

preg_match(/[\x{4e00}-\x{9fa5}]+.*\-/u, $str, $matches);
¢好甜 2024-08-14 14:46:44

PHP 是否将其存储为 Unicode?如果是这样,最坏的情况是您可以逐个字符地遍历字符串,直到找到中文范围内的字符。

也看看PHP:Unicode - 手册

Is PHP storing this as Unicode? If so, at worst you could step through the string, character by character, until you hit those within the Chinese range.

Check this out too PHP: Unicode - Manual

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文