2010-10-16 40 views
-3

我想一个PHP函数,检查输入的英文,并与dot .me.too没有空格我怎么可以让is_english功能

+0

我不熟悉PHP,但是您不会找到一个内置的函数。你将能够找到一个开源的英文单词列表(快速谷歌会提供一些),然后检查点前后的部分,看看他们是否有效的英文单词。 – FinnNk 2010-10-16 22:55:48

回答

4

它不是很清楚你问什么,但我你想要检查一个字符串是否仅由组成字母和点。如果是的话,你可以这样做:

if (preg_match('/[a-z.]+/i',$input)) { 
    // $input contains only alphabets and period. 
} 
+0

你不需要逃避那段时间,还是我是愚蠢的? – 2010-10-16 23:10:08

+1

@Christian:在一个字符类中,'.'被字面处理。 – codaddict 2010-10-16 23:12:24

+0

'-'总是一个元字符,对吗? – 2010-10-16 23:14:48

1

再次。不清楚你的意思。如果你想确定一段文本的语言,然后使用一些启发式语言或正则表达式用一种语言中最常用的单词。 (这样做过一次,但却懒得抓出来。)

如果你想验证一个给定的字符串是否只包含正确的英文单词,然后使用拼写检查。使用codaddicts正则表达式来验证格式。然后通过aspell管道:

$words = escapeshellcmd(strtr($words, ".", " ")); 
$r = `echo '$words' | LANG=en aspell -a`; 
$valid = !preg_match("/^[^@*]/m", $r); // output may not contain ^& 

或者使用pspell扩展/或upgradephp。