如何使用PHP语言检测字符串上的日文字符?

时间:2014-06-05 01:20:44

标签: php


给出以下3个字符串,

字符串1(带有其他语言的日语):
“激安価格お买い得タイヨー脱肠帯·片侧用fm腰回り用任何其他词”

字符串2(葡萄牙语):
“istoéumteste。”

字符串3(英文):
“这是一个考验”

我怎样才能使用PHP识别字符串1?

事先说。

修改
由于这个主题暂停,我将尝试满足stackoverflow的要求:

  

“这个问题似乎偏离主题,因为它缺乏足够的信息来诊断问题。更详细地描述您的问题或在问题本身中包含一个最小的例子。” - Anonymous,jeroen,Hanky웃Panky

我有一个问题...... :(
我的问题是我在评论系统网站上收到了很多垃圾邮件。 我注意到他们中的大多数都有日文字符。我的老板特别说我不能使用任何验证码机制。

所以....我唯一能想到的就是检测日文字符...就像我在标题上提到的那样,并在帖子中描述!

更好?
干杯! :)

1 个答案:

答案 0 :(得分:4)

http://ideone.com/s8Mzum

我在Ideone上尝试了这个,虽然有效但未经过彻底的测试。

   <?php

$word = "激安価格お買い得タイヨー脱腸帯·片側用 fm 腰回り";
$word2 = "This is the english language";

function isJapanese($lang) {
    return preg_match('/[\x{4E00}-\x{9FBF}\x{3040}-\x{309F}\x{30A0}-\x{30FF}]/u', $lang);
}

var_dump(isJapanese($word)); //returns 1
var_dump(isJapanese($word2));//returns 0