PHP中文文字正则替换,并将匹配的中文文字加粗

2025-04-06 14:45:29
推荐回答(1个)
回答1:

$str = "中文123美丽abc开心。?我们";
echo preg_replace('#(?:(?![,。?])[\xC0-\xFF][\x80-\xBF]+)+#','$0',$str);
//(?:[\xC0-\xFF][\x80-\xBF]+)  单个中文字符,不需要引用,因此使用?:
//(?![,。?]) 排除中文标点符号,这里要写入中文标点
//(?:(?![,。?])[\xC0-\xFF][\x80-\xBF]+)  排除中文标点符号后的中文字符
//(?:[\xC0-\xFF][\x80-\xBF]+)+ 1个以上的中文字符
//结果 中文123美丽abc开心。?我们
?>