2010-10-16 39 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。