我正在構建一個用戶評論和獲得信用的系統。快速得到信用戶添加評論,如「fffff」,「niceeeeeeeeee」,「greeeeeeaaaatt」,「aaaa」,「b」等...
有反正過濾掉這些評論。任何建議將不勝感激。在php中過濾適當的詞語和正確的英語語言
回答
你可以檢查是否用戶的輸入包含使用正則表達式(因爲我不知道在英語具有相同字母的3行中的任意字)
3個連續的字符$user_input = "niceeeeeeeeeeee";
if (preg_match("/([A-Za-z])\\1\\1/", $user_input)) {
echo "String contains the same letter 3 times in a row and is not valid";
} else {
echo "String is ok!";
}
這會匹配「niceee」,「greeeat」,「aaaa」等,或連續3次或更多次使用相同字母的任何字符串。如果要檢查用戶的輸入對多個模式,你可以把你的正則表達式中的數組,並檢查他們都如:
$patterns = [
"/(.)\\1\\1/", // any character (not just letters) 3+ times in a row
"/^.$/", // a single character
"/.{15,}/", // contains a word longer than 15 characters
"/([A-Za-z]{2,})\\1\\1/" // 2 letters alternating e.g. "abababab"
];
foreach($patterns as $pattern){
if (preg_match($pattern, $user_input)) {
echo "This is an invalid string";
}
}
或者,如果你沒有太多的模式(而你不是與可讀性有關),您可以將所有模式連同|
連接起來。
if (preg_match("/(.)\\1\\1|^.$|.{15,}|([A-Za-z]{2,})\\2\\2/", $user_input)) {
echo "This is an invalid string";
}
好的建議..這個怎麼樣..「abababababa」:) – user3516704
沒有正則表達式可以捕捉各種亂碼,但你可以選擇你想過濾的特定模式。我解決了你在問題中提出的問題,但是「正常」的正則表達式可能是「/([A-Za-z] {2,})\\ 1 \\ 1 /」'。我推薦一個像這樣的工具來玩你的正則表達式:[link](https://regex101.com/)。 – ahaurat
很好..謝謝:) – user3516704
爲了測試正確的拼寫,您可以使用pspell_check()函數。
$pspell_link = pspell_new("en");
if (pspell_check($pspell_link, "niceeeeeeeeee")) {
echo "Correct spelling.";
} else {
echo "Wrong spelling";
}
- 1. JSON和非英語語言
- 2. 使用`textcat`過濾掉語料庫中的非英語單詞
- 3. PHP英語詞典
- 4. createDesktopLinkAction不適用於非英語語言
- 5. Google Play的英語語言
- 6. 在非英語語言
- 7. 如何在美式英語和英式英語之間切換TextToSpeech的語言?
- 8. iTunesConnect中的英語以外的語言
- 9. Double.Parse(串)不工作正確的,當設備語言不是英語MonoDroid的
- 10. 拉丁語言中的highlight.js英語
- 11. 如何將英語單詞轉換爲使用c語言的本地語言
- 12. 在WGL中打印非英語語言
- 13. 如何在codeigniter中添加阿拉伯語和英語語言?
- 14. 非英語語言Strlen
- 15. 在php中存在的語言單詞
- 16. 多國語言網站 - 英語,日語,韓語語言
- 17. 語言likebox Facebook - 英語譯成法語
- 18. 包含定義的英語語言詞典
- 19. 爲什麼語言改變爲英語在語言欄在C#
- 20. 多種語言的Faker,Populator(英語和俄語)
- 21. PHP:htmlspecialchars()和非英文語言
- 22. 描述RE的英語語言
- 23. 非英語語言的Levenshtein距離
- 24. 多語言的MFC應用程序 - 英語,法語,西班牙語和韓語
- 25. 正確的語法在PHP Select語句
- 26. 適用於非英語語言的iPhone應用程序
- 27. 翻譯/其他語言的轉換日期爲英語在PHP
- 28. 挑選正確的語言
- 29. 用PHP語言解析英文語法(鏈接語法)
- 30. 當默認語言爲非英語時,如何將TDateCalendar用作英語(Days Captions)?
建立您的語言詞典並檢查它之前的文字作爲評論發佈之前。 – Thamilan
編寫一個表達式,在一行中查找3個相同的字母並搜索輸入,然後拒絕所有無效的表達式。 –