Сложих филтър за фльокавица с малки подобрения

В коментарите към статията ми за образованието се включиха двама субекти, които внесоха само обиди и жлъч. За мен такива хора са спамъри, защото не донасят нищо полезно в една дискусия, а просто искат да напсуват някого. За жалост не може да се направи филтър, който да разпознава простотията на хората. Забелязах обаче една интересна тенденция – всички досега, който да писали глупости, са ги писали на шльокавица. За непросветените, това означава български на латиница, който е невероятно труден за четене.

Затова си инсталирах добавката на Николай Бачийски – „Без шльокавица„. Пак ще може да се включват думи на латиница като имена или термини, но като цяло коментара трябва да е на кирилица. Недостатъкът на тази добавка е, че когато се пусне коментар на латиница, той зарежда предупреждението на нова страница с връзка обратно към формата за коментар. Реших да направя малко подобрение и написах кратък javascript, който да прави същата проверка, но преди да бъде изпратен коментара към системата. Така се изписва предупреждение с червени букви точно под полето за писане. Все пак добавката на Николай е нужна, защото някой умник може да реши да изключи проверката и да успее да изпрати коментар на шльокавица. Не съм направил промените като добавка, но ми се струва, че може да се добавят в съществуващия plugin. При мен промените съм ги направил директно в темата за блогът ми. Инструкциите може да намерите тук.

24 коментара

  1. Може да пишеш на Ники Бачийски, ако подобрението ти се хареса, може да го вмъкне в кода на плъгина… 🙂

  2. PS Нещо обаче ПРЕГЛЕД на коментар не работи сега коректно, тествай го… (пише UNDEFINED горе, вместо да покаже преглед на коментара) – явно нещо друго се е променило, заради кода… Хм.

  3. Мисля, че го засякох днес в Twitter. Ще му пратя линка. Прегледа на коментарите в момента го пиша. Не ми се играе да го правя локално, затова го пиша директно в блогът. Ще работи след половин час.

  4. Интересно, но според мен вместо да се СПИРА писането на шльокавица, по-добре да се ДАДЕ ВЪЗМОЖНОСТ да се пише на български. Например, за хора в чужбина е трудно да имат инсталирана кирилица. За моя блог ( ) съм си решил проблема с JavaScript кирилизатор в коментарите. Работи с повечето браузъри (Mozilla-like – Firefox, Camino etc.). За хора, не желаещи да променят кода на блога си, има и отделна инсталация – и секретната техника copy/paste 😉

  5. Аз уча в чужбина и съм инсталирал кирилица на всички компютри, на които работя. Затова ще сложа линк в съобщението за грешка към „гювечите на инжинера“. В някои случаи обаче наистина няма възможност за кирилизация и в такива случаи ще сложа бутон за кирилица. Това за сега е в опашката за промени.

    @Мишел: прегледа вече работи.

  6. Всяка WordPress тема е свободна да слага какъвто си иска HTML за формуляра за коментари. Затова няма 100% сигурен начин да познаем с JavaScript кое трябва да се проверява. Може обаче да се измисли нещо, което работи в огромна част от случаите (по id, class, name, полета на формуляра и т.н.)

    Аз лично не виждам голяма нужда от подобрението, тъй като коментарите на латиница са рядкост. Бих жертвал времето, което хората, пишеши на шльокавица ще отделят, за да се върнат при формулята за коментари, за сметка на моето или вашето време за напасване на кръпката.

  7. За направата на универсален plugin наистина ще трябва доста време, затова си прав. За частни случаи като моя обаче си струва да се направи. Много теми не спазват указанията на WP и се появяват проблеми. Тази, която избрах за новия ми блог е точно такава и си имам доста главоболия.

  8. Не съм го тествал на IE или Firefox под windows така, че ако някой види нещо, да пише тук или в статията по въпроса (следващата). Не би трябвало да има проблем.

    На мен лично ми е много полезен, защото често включвам форматиране, линкове или снимки и понякога забравям затварящите тагове.

  9. А цифри и други знаци? Това: if (!$(‘comment’).value.match(/[а-яА-Я]/g)) не хваща ли само малки и големи букви на кирилица? Не съм много сигурен /g как променя регулярния израз.

    Идеяат е много добра. Аз мислех да си напиша нещо подобно, само че не за WP, a по-принцип.

  10. Встрани от темата за шльокавицата, защо не добавиш едно target=“_blank“ в линка към блога/сайта на коментиращия.

    А за горния израз схванах като се замислих как работи. Абе добра идея!

  11. Regexp-а го взех направо от plugin-а за WP, но промених флага накрая на g. Така проверява дали има поне една буква на кирилица и това е недостатък. Ще се опитам да построя regexp, който да засича конструкции от букви и да позволява такива на латиница. Друг недостатък е, че не могат да ми отговорят с кратък отговор само със цифри например, но това никога не се случва.

    Добра бележка за target-a. Опитвам се да слагам такива във всеки линк в статията и дори си мислех да го направя да се добавя автоматично с един малък скрипт. Ще го променя днес.

  12. О, изглежда линка на автора в коментарите се изгражда автоматично с таг на WP. Ще трябва или да я отворя, или да го пресъздам. Ако имам време днес ще се разровя.

  13. Pingback: Добавих преглед на коментари : Блогография
  14. Pingback: Китайците спамят на кирилица | Блогография
  15. Pingback: Спиране на руския спам | Блогография
  16. Pingback: Aleksey’s blog » Blog Archive » Последни промени: 16.01.2009
  17. Не знам откъде е проблема… на мен не ми работи това приложение. Самия плугин си работи, но и на мен не ми хареса идеята да ходи до друга страница, че след това и да се връща обратно… и сложих твоя код. Още преди време беше това. Тогава не ми проработи и аз временно се отказах, но бях забравил да махна кода. И няколко дни по-късно докато тествах нещо различно и написах един коментар на шльокавица ми се изписа съобщението, че не може да няма поне един символ на кирилица 😀 Тогава разбрах, че работи (а всъщност и на идея си нямах как е проработило). Обаче ми се наложи пълен drop на database-a + preinstall на wordpress и т.н. … кода в comments.php си е същия както преди (копнах файла), но не работи… пак. Нито под Opera, нито под IE, нито под Firefox, нито даже под Google Chrome (изчерпах се откъм browser-и). Къде ми е грешката?

Вашият коментар

Вашият имейл адрес няма да бъде публикуван.

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните ви за коментари.