【问题标题】:PHP Check if all characters in a string are ChinesePHP检查字符串中的所有字符是否都是中文
【发布时间】:2013-11-12 22:11:20
【问题描述】:

我目前正在使用这种方法检测字符串中是否存在汉字

if (preg_match("/\p{Han}+/u", $str))
{
  //made in china
}

工作正常,但我还需要检查完整的字符串是否为中文,而不仅仅是检查任何字符是否为中文。我似乎无法弄清楚如何做到这一点,可以通过 preg match 来完成吗?

【问题讨论】:

    标签: php string


    【解决方案1】:

    添加^$ 限定符:

    if (preg_match("/^\p{Han}+$/u", $str))
    {
      //made in china
    }
    

    【讨论】:

    • 他只是想检测字符串是否包含中文而不是整个字符串是否是中文,这样行吗?
    • 所以 OP 有你在他的代码中提到的示例。他在问如何检查整个字符串是否是中文的。也就是说 - 如果从头到尾的任何符号是中文,则整个字符串都是中文
    • Dp 是的,你是对的,错过了他问题的第二段。
    猜你喜欢
    • 2014-01-01
    • 2023-04-02
    • 2014-04-09
    • 2023-01-31
    • 1970-01-01
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    • 2012-06-23
    相关资源
    最近更新 更多