Да, направляющие имеет simple_format
, который делает точно, что Вы ищете, и немного лучше так как это также добавляет теги абзаца. См.
http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-simple_format
Пример:
simple_format(mystring)
Примечание, которое simple_format
позволяет основные HTML-тэги, но также и передает текст до sanitize
, который удаляет все сценарии, таким образом, это должно быть безопасно для ввода данных пользователем.
Для обнаружения кириллических символов (используемых в русском языке) вы можете использовать следующее:
[\u0400-\u04FF]+
Если вам действительно нужны только русские символы, вы можете взглянуть на вышесказанное документ, который содержит точный диапазон, используемый для основного русского алфавита, который составляет [\ u0410- \ u044F]
. Конечно, вам также следует учитывать символы расширенной кириллицы, которые используются исключительно в русском языке - также упомянутые в документе.
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.