可以使用正则表达式来获取中文之前的字符。

以下是一个示例代码:

$str = "hello世界";
if(preg_match("/^(.*?)[\x{4e00}-\x{9fa5}]/u", $str, $match)){
    echo $match[1]; // 输出 hello
}

解释一下正则表达式:

  • ^ 表示从字符串开头开始匹配
  • .*? 表示匹配任意字符,? 表示非贪婪匹配,即尽可能少的匹配字符
  • [\x{4e00}-\x{9fa5}] 表示中文字符范围
  • /u 表示使用 UTF-8 编码匹配

使用 preg_match() 函数匹配字符串,如果匹配成功,则 $match[1] 中存储的就是中文之前的字符。


原文地址: https://www.cveoy.top/t/topic/ePf9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录