Linux 技术手札

PHP 判断字串是否有中文

在 PHP 要判断字串是否有中文,可以用 mb_strlen() 及 strlen() 两个函式实现。strlen() 会回传字串的长度,但如果是中文, 日文及韩文等文字,会回传较长的结果。而 mb_strlen() 则可以加入编码,例如 UTF-8 及 BIG5 等,让 PHP 自动判断字串的长度,只要比对 mb_strlen() 及 strlen() 回传的字串长度,如果相同,即表示没有中文字在字串内,如果不相同,那便表示有中、日、韩等亚洲文字存在,例如:

上面 mb_strlen() 设定了字串为 UTF-8 编码,如果是 BIG5 编码,则要改成 BIG5, 但这样很麻烦,只要配合 mb_detect_encoding() 函式,让 PHP 自动检查字串的编码,就不用每次设定不同编码了:

Exit mobile version