Как я могу обнаружить российские сообщения спама с Perl?

Да, направляющие имеет simple_format, который делает точно, что Вы ищете, и немного лучше так как это также добавляет теги абзаца. См.

http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-simple_format

Пример:

 simple_format(mystring)

Примечание, которое simple_format позволяет основные HTML-тэги, но также и передает текст до sanitize, который удаляет все сценарии, таким образом, это должно быть безопасно для ввода данных пользователем.

6
задан Lev Khomich 28 April 2012 в 21:51
поделиться

2 ответа

Для обнаружения кириллических символов (используемых в русском языке) вы можете использовать следующее:

[\u0400-\u04FF]+

Если вам действительно нужны только русские символы, вы можете взглянуть на вышесказанное документ, который содержит точный диапазон, используемый для основного русского алфавита, который составляет [\ u0410- \ u044F] . Конечно, вам также следует учитывать символы расширенной кириллицы, которые используются исключительно в русском языке - также упомянутые в документе.

9
ответ дан 9 December 2019 в 20:46
поделиться

using the unicode cyrillic charset as suggested by JG is fine if everything is encoded as such. however, this is spam and for the most part, things are not. additionally, spammers will very often use a mix of charsets in spams which further screws up this approach.

i find that the best way (or at least the preliminary step in the process) of detecting russian spam is to grep for the most commonly used charsets:

koi8-r
windows-1251
iso-8859-5

next step after that would be to try some language detection algorithms on what remains. if it's a big enough problem, use a paid service such as google translate (which also "detects") or xerox. these services provide IMO the best language detection around.

3
ответ дан 9 December 2019 в 20:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: