PHP 获取某个字符串中文之前的字符 该字符串只有中文可能是中英混合可能是中文开头要考虑中文的数字
可以使用正则表达式来获取该字符串中文之前的字符。以下是一个示例代码:
function getChinesePrefix($str) {
// 匹配中文字符及数字
preg_match('/[^\x00-\xff0-9]*[\x{4e00}-\x{9fa5}]/u', $str, $matches);
if (!empty($matches)) {
return substr($str, 0, strpos($str, $matches[0]));
}
return '';
}
// 示例用法
$str1 = 'Hello,你好';
$str2 = '12月份的销售报告';
$str3 = '最新的产品发布会';
echo getChinesePrefix($str1); // 输出:Hello,
echo getChinesePrefix($str2); // 输出:12
echo getChinesePrefix($str3); // 输出:
在上面的代码中,getChinesePrefix 函数使用了 preg_match 函数来匹配字符串中的第一个中文字符及数字。如果匹配成功,则使用 substr 函数获取该字符之前的字符;如果匹配不成功,则返回空字符串。需要注意的是,由于中文字符的 Unicode 编码范围是 \x{4e00}-\x{9fa5},所以需要使用 u 修饰符来开启 UTF-8 编码模式
原文地址: https://www.cveoy.top/t/topic/ePp6 著作权归作者所有。请勿转载和采集!