PHP 获取某个字符串中中文之前的字符
可以使用正则表达式来获取中文之前的字符。
以下是一个示例代码:
$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 著作权归作者所有。请勿转载和采集!