मेरे पास एक अंग्रेजी भाषा मंच साइट है जो पर्ले में लिखी गई है जो लगातार रूसी में स्पैम के साथ बमबारी होती है। क्या रूसी पाठ का पता लगाने के लिए पर्ल और रेगेक्स का उपयोग करने का कोई तरीका है ताकि मैं इसे अवरुद्ध कर सकूं?मैं पर्ल के साथ रूसी स्पैम पदों का पता कैसे लगा सकता हूं?
उत्तर
आप Cyrillic वर्ण का पता लगाने के लिए निम्न का उपयोग कर सकते (रूस में प्रयुक्त):
[\u0400-\u04FF]+
आप वास्तव में सिर्फ रूसी वर्ण चाहते हैं, आप पूर्वोक्त दस्तावेज़ पर एक नज़र है, जो इस्तेमाल किया सटीक रेंज शामिल ले जा सकते हैं मूल रूसी वर्णमाला के लिए जो [\u0410-\u044F]
है। निस्संदेह आपको एक्सटेंशन सिरिलिक वर्णों पर भी विचार करना होगा जिन्हें विशेष रूप से रूसी में उपयोग किया जाता है - दस्तावेज़ में भी उल्लेख किया गया है।
जेजी द्वारा सुझाए गए यूनिकोड साइरिलिक वर्णसेट का उपयोग करके ठीक है अगर सब कुछ एन्कोड किया गया है। हालांकि, यह स्पैम है और अधिकांश भाग के लिए, चीजें नहीं हैं। इसके अतिरिक्त, स्पैमर अक्सर स्पैम में वर्णमाला के मिश्रण का उपयोग करेंगे जो इस दृष्टिकोण को आगे बढ़ाता है।
मैं लगता है कि सबसे अच्छा तरीका है (या कम से कम इस प्रक्रिया में प्रारंभिक कदम) रूसी स्पैम का पता लगाने में सबसे अधिक इस्तेमाल किया वर्णसेट के लिए grep के लिए है:
koi8-r
windows-1251
iso-8859-5
अगले कदम उस के बाद की कोशिश करना होगा क्या रहता है पर कुछ भाषा पहचान एल्गोरिदम। यदि यह एक बड़ी समस्या है, तो Google अनुवाद (जो "पता लगाता है") या जेरोक्स जैसी एक सशुल्क सेवा का उपयोग करें। ये सेवाएं आईएमओ को सर्वश्रेष्ठ भाषा पहचान प्रदान करती हैं।
मैं आपके बिंदु को समझता हूं, लेकिन चूंकि यह एक अंग्रेजी मंच है, यह पता लगाने के बाद कि क्या एक पोस्ट में साइरिलिक वर्ण शामिल हैं, यह निर्धारित करने के लिए पर्याप्त हो सकता है कि यह स्पैम है। –
हमम, मैं * सोच रहा था कि मूल पोस्टर ईमेल स्पैम के बारे में बात कर रहा था ... यदि ऐसा नहीं है, और स्पैम साइट के माध्यम से दर्ज किया जा रहा है (उदाहरण के लिए एक मंच पर) तो मैं आपसे सहमत हूं कि आप क्या हैं कह रही है। –
- 1. मैं सी ++ स्ट्रिंग में "_" का पता कैसे लगा सकता हूं?
- 2. मैं फ़ाइल के एन्कोडिंग का पता कैसे लगा सकता हूं?
- 3. पर्ल एरे का पता लगा सकता है?
- 4. एनएसआईएस - मैं चुप इंस्टॉल का पता कैसे लगा सकता हूं?
- 5. मैं rel = "noreferrer" समर्थन का पता कैसे लगा सकता हूं?
- 6. मैं सेवा विज्ञापन आयामों का पता कैसे लगा सकता हूं
- 7. मैं cocos2d में स्पर्श का पता कैसे लगा सकता हूं?
- 8. मैं सी में पैलिंड्रोम का पता कैसे लगा सकता हूं?
- 9. मैं गैर-पश्चिमी पात्रों का पता कैसे लगा सकता हूं?
- 10. आईफोन - मैं आईफोन संस्करण का पता कैसे लगा सकता हूं?
- 11. डब्ल्यूसीएफ: मैं संदेश निकायों का पता कैसे लगा सकता हूं?
- 12. मैं पर्ल में ऑपरेटिंग सिस्टम का पता कैसे लगा सकता हूं?
- 13. क्या मैं PHP के साथ MySQL चेतावनी का पता लगा सकता हूं और संभाल सकता हूं?
- 14. मैं पर्ल से एक PHP स्क्रिप्ट कैसे लगा सकता हूं?
- 15. PHP के साथ मिनटों में मैं वीडियो फ़ाइल अवधि का पता कैसे लगा सकता हूं?
- 16. मैं jquery के साथ विशिष्ट आईओएस संस्करण का पता कैसे लगा सकता हूं?
- 17. मैं जावास्क्रिप्ट के साथ जल आग का पता कैसे लगा सकता हूं?
- 18. मैं PHP या जावास्क्रिप्ट के साथ ब्राउज़र का पता कैसे लगा सकता हूं?
- 19. मैं jQuery के साथ विंडो आकार का पता कैसे लगा सकता हूं?
- 20. छवियों में मैं कैसे पता लगा सकता हूं (और सही)?
- 21. मैं कैसे पता लगा सकता हूं कि वीबी.Net DataRow
- 22. मैं कैसे पता लगा सकता हूं कि जेनकिंस
- 23. मैं कैसे पता लगा सकता हूं कि मेरा पृष्ठ पोस्टबैक
- 24. मैं कैसे पता लगा सकता हूं कि मैं किस सिद्धांत का चल रहा हूं?
- 25. मैं कैसे पता लगा सकता हूं कि पर्ल में एक सिम्लिंक टूट गया है?
- 26. मैं पर्ल में एक स्ट्रिंग के एन्कोडिंग का अनुमान कैसे लगा सकता हूं?
- 27. मैं पर्ल के साथ आईपी पते और पता श्रेणियों का विश्लेषण कैसे कर सकता हूं?
- 28. मैं कैसे पता लगा सकता हूं कि मैं किस गिट का संस्करण चला रहा हूं?
- 29. मैं कैसे पता लगा सकता हूं कि मैं रिपोर्टलाब का कौन सा संस्करण चला रहा हूं?
- 30. मैं स्ट्रॉबेरी पर्ल के साथ प्रोग्राम कैसे चला सकता हूं?
रूसी का पता लगाने के लिए आपको केवल उन शब्दों की तलाश करनी होगी जो केवल रूसी भाषा में उपयोग की जाती हैं। या आप सिर्फ सिरिलिक अक्षरों के लिए परीक्षण करना चाहते हैं? – Gumbo
अगर ($ पाठ ~ =/वोदका /) {$ भाषा = "आरयू"; } – tunnuz
@ गंबो सिर्फ सिरीलिक का पता लगाने के लिए पर्याप्त है क्योंकि फोरम अंग्रेजी में है। –