2009-12-03 10 views
10

वर्तमान में मैं बीबीकोड सर्वर पक्ष को पार्स कर रहा हूं लेकिन मैं इस साइट की तरह एक पूर्वावलोकन दिखाना चाहता हूं।कोई भी अच्छा जावास्क्रिप्ट बीबीसीओडी पार्सर?

यदि मैं AJAX का उपयोग कर बीबीकोड सर्वरसाइड को संसाधित करता हूं तो यह थोड़ी लगी है, इसलिए मैंने पूर्वावलोकन को दिखाने के लिए इसे क्लाइंट पक्ष कर रहा था।

क्या आप जावास्क्रिप्ट में लिखे गए किसी भी बीबीकोड पार्सर को जानते हैं?

उत्तर

5

मैंने व्यक्तिगत रूप से किसी भी जावास्क्रिप्ट बीबीकोड पार्सर्स का उपयोग नहीं किया है, लेकिन शीर्ष दो Google परिणाम (bbcodejs और this blog post) बहुत कमजोर प्रतीत होते हैं। पूर्व में केवल सरल खोज-और-प्रतिस्थापन का समर्थन करना प्रतीत होता है, और बाद में ऐसा लगता है कि बीबीकोड में प्री-सेट बनाया गया है, इसलिए यदि आप उस समाधान को चुनते हैं तो आपको इसे थोड़ा सा हैक करना होगा।

आपके सर्वोत्तम विकल्प शायद आपके स्वयं के समाधान को रोल करने के लिए संभवतः संभवतः यहां दो लिंकों में से एक को अपना काम आधार दे रहे हैं), या केवल AJAX का उपयोग करें और आगे बढ़ें। यह संभवतः यह सुनिश्चित करने का सबसे अच्छा तरीका है कि पूर्वावलोकन सटीक हैं, और पूर्वावलोकन को हर कुंजीपटल पर रीयल-टाइम नहीं होना चाहिए, वैसे भी; अनुरोध भेजने से पहले देरी स्वीकार्य है।

+5

हाँ, मैं पोस्ट करने से पहले दोनों लिंक देखा, लेकिन मैं सिर्फ पुस्तकालय मैं अब उपयोग कर रहा हूँ की तरह कुछ में थोड़ा और अधिक लोकप्रिय लिए देख रहा था, (http://bbcode.codeplex.com/)। तो, शायद मैं इसे जेएस पर बंद कर दूंगा। लगता है वहाँ बहुत – Drevak

+4

आप relly .tmatch "(टैग [टीएम])/gi.test" 'उस में [टीएम] कुछ, कि eval ("/"+ obj [k] है' सिफारिश कर रहे हैं नहीं है कि? – katspaugh

+2

@Matchu: मुझे लगता है कि ये अहंकारी _ "मुझे Google के लिए यह बताएं" _ स्टैक ओवरफ़्लो पर अनावश्यक हैं (और वे अपवॉट प्राप्त करने का मौका भी कम करते हैं)। स्टैक ओवरफ़्लो एक विशाल ज्ञान आधार की तरह है जो Google का उपयोग करना आसान है (!), तो यह अप्रिय टिप्पणियों के बिना उपयोगी जवाब देखने के लिए वास्तव में अच्छा है :) – Sk8erPeter

7

यह थोड़ा देर हो चुकी है, और सवाल का निश्चित रूप से उत्तर दिया गया है। हालांकि अगर आप अभी भी सुझावों के लिए खुले हैं, और आपने अभी तक संकेतित पार्सर को सी # से जावास्क्रिप्ट में परिवर्तित करने में अपना समय नहीं बिताया है, तो मैंने एक पार्सर (मूल रूप से PHP में) लिखा है जिसे मैंने स्वयं को [2] जावास्क्रिप्ट में परिवर्तित कर दिया है। यह 3-खंड बीएसडी लाइसेंस के तहत bitbucket पर उपलब्ध है। पार्सर उचित रूप से तेज़ प्रतीत होता है, लेकिन मैंने अपनी गति पर कोई विश्लेषण नहीं किया है।

यह संभवतः अन्य संभावित परियोजनाओं के रूप में कुछ तरीकों से लचीला नहीं हो सकता है, लेकिन यह आपके स्वयं के कोड ("बीबी-कोड" या नहीं, कुछ गुणों के साथ परिभाषित करने की अनुमति देता है), और यह भी सभी के भीतर निहित है एक फाइल यह एक साधारण खोज-और-प्रतिस्थापन पार्सर नहीं है, और रेगेक्स पर आधारित नहीं है।

यदि यह आपके लिए कोई रूचि है, तो यह आपको उस अन्य लाइब्रेरी को परिवर्तित करने से बचा सकता है। तकनीकी रूप से, मैं एक रिश्तेदार "अज्ञात" हूं, लेकिन जेएस/ओएसएस के बारे में यह बहुत अच्छी चीजें हैं: आप यह देखने के लिए स्रोत देख सकते हैं कि मैंने क्या किया है।

[2] नतीजतन, कुछ शेष "संगतता कार्य" हैं, लेकिन मैं उन चीज़ों को फिर से लिखता हूं जिनमें देशी समकक्ष उपलब्ध थे।

+2

कृपया जिथब का प्रयोग करें! – Mark

+0

@ArtMcBain: परियोजना bitbucket -1 –

+1

+1 पर नहीं मिला। ओह और https://bitbucket.org/AMcBain/bb-code-parser वास्तविक भंडार के लिए लिंक होगा। – zrvan

संबंधित मुद्दे