[英]What percentage of the characters in a string are non-english?
PHP中有一種簡單的方法可以判斷字符串中非英語字符的百分比嗎?
我要實現的目標是根據描述檢測列表中的非英文項目,並且該百分比也用於說明英文文本中可能還會出現的特殊字符。 例如。 非英語字符少於5%的人不一定表示該文本不是英語,而非英語字符則為95%。
在英語中,您知道我們有26個字母,沒有任何變音符號(即重音符號)。 您可以:1)在數組中存儲一個大寫和小寫字母,數字字符以及您希望接受為“英語”的任何其他字符的列表
2)或像這樣做一個捷徑: $az = range('a', 'z');
它將返回所有26個字符,確保對大寫字母和數字進行相同的操作,然后將這些元素添加到一個大數組中。
然后,遍歷文本文檔中的每個字母,並將其與英語字符數組中的每個字母進行比較,在您遍歷文檔時您將計算命中和遺漏。
然后,您可以通過執行以下操作來計算在文檔中找到的英文字母的百分比:
100/ total number of characters in the document * hits (the total number of English characters found)
嗯,沒有直接的方法可以這樣做,但這可能有助於使用mb_strlen
這是一個例子
$string="string with utf-8 chars åèä - doo-bee doo-bee dooh";
$utf = mb_strlen($string, 'utf-8') ;
echo $utf ;
echo "<br />";
$all = strlen($string);
echo $all ;
echo "<br />";
$non_eng = $all - $utf ;
echo $non_eng ;
您將有3個非英語字符,並使用總長度可以計算%。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.