需要用 PHP 來判斷一個字串中是否有 UTF8 漢字的正規表示式 (regular expression),不需要包含全部的漢字,只要是常用的漢字即可 (Unicode U+4E00 至 U+9FA5)。很多資料都說就是用 "/[\u4e00-\u9fa5]/" 即可判斷一個漢字,但試了底下的程式卻無法運作。
if (preg_match("/[\u4e00-\u9fa5]/", $string)) { ... }
到處找資料後,才知道要用底下的方法才行,也就是要用 \x{....} 來表示,而且要加上 /u 參數。
if (preg_match("/[\x{4e00}-\x{9fa5}]/u", $string)) { ... }