当前位置: 首页> 最新文章列表> PHP实现只提取中文字符的简单方法

PHP实现只提取中文字符的简单方法

gitbox 2025-08-02

什么是中文?

中文是一种通行于中国大陆、台湾、新加坡、马来西亚等地区的语言,书写依赖汉字。汉字由独特且复杂的笔画和部首组成,语法结构相对简单,主要依靠词性和语序表达意义。

汉字编码

计算机中需要对中文进行编码以便存储和处理,常用的编码方式主要有:

GB2312 编码

Unicode 编码

其中,GB2312 是双字节编码,涵盖约6763个中文字符,包括常用汉字和符号。Unicode编码包含全球所有字符,中文字符通常占用两个字节。

如何只提取中文字符?

在PHP中,可以通过正则表达式匹配Unicode范围内的中文字符,从而实现仅保留中文的功能。

// 删除文本中的非中文字符
function remove_non_chinese($text) {
  // 只保留中文字符
  $pattern = '/[\x{4e00}-\x{9fa5}]+/u';
  return preg_replace($pattern, '', $text);
}

以上代码利用了Unicode编码范围\x{4e00}-\x{9fa5}来匹配中文汉字,标志u表示采用Unicode模式。

示例说明

$text = 'Hello, 你好,我是一个 PHP 开发者。';

调用函数删除非中文字符:

$chinese_only = remove_non_chinese($text);
echo $chinese_only; // 输出:你好我是一个PHP开发者

运行结果显示,英文和空格被成功过滤,只剩中文字符。

使用建议

此方法主要匹配简体中文字符,对于繁体字支持有限。此外,句号、逗号等标点符号也会被剔除。具体应用时可根据需求对正则表达式进行调整,确保符合实际场景。