check and replace only string of div with javascript -


  var कीवर्ड = 'परीक्षण'; वैर की जगह = $ ("test-section")। Html ()। प्रतिस्थापित करें (नया रेगएक्सपी (कीवर्ड, "igm"), '& lt; span class = "greenbackground" & gt;' + keyword + '& lt; / span & gt; ); $ ( "टेस्ट अनुभाग।") एचटीएमएल (प्रतिस्थापित)।  

मैं अपने पैराग्राफ के एक कीवर्ड को उजागर करना चाहता हूं उपरोक्त कोड को अच्छी तरह से काम कर रहा है, अगर मेरे पास 'परीक्षण' मेरे div सामग्री में है, यहां तक ​​कि कक्षा प्राप्त हो रही है मैं केवल विशिष्ट स्ट्रिंग के लिए अपना कोड परीक्षण कैसे कर सकता हूं कृपया एक ही मुद्दे पर

यदि आप एक शब्द सीमा की जावास्क्रिप्ट की परिभाषा से खुश हैं, तो आप \ b का उपयोग करें:

  var keyword = 'test'; प्रतिस्थापित = $ ("test-section")। Html ()। प्रतिस्थापित करें (नया RegExp ("\\ b" + keyword + "\\ b", "igm"), '& lt; span class = "greenbackground" & gt; '+ कीवर्ड +' & lt; / span & gt; '); $ ( "टेस्ट अनुभाग।") एचटीएमएल (प्रतिस्थापित)।  

लेकिन जांच, यह आपको आश्चर्यचकित कर सकता है, यह बहुत अंग्रेजी-केंद्रित है विशेष रूप से, यह 26 अंग्रेजी अक्षरों ए-जेड (ऊपरी या निचले मामले), अंक 0-9, या एक अंडरस्कोर है। कुछ और ( é , उदाहरण के लिए), जावास्क्रिप्ट के अनुसार एक "शब्द" वर्ण नहीं है।

अंडरस्कोर सहित कोई अल्फ़ान्यूमेरिक वर्ण। [A-Za-z0-9 _] के समतुल्य।

यदि आप अपनी स्वयं की परिभाषा को लागू करना चाहते हैं, तो आप "लाइन या गैर- शब्द चरित्र "और" पंक्ति या गैर-शब्द चरित्र के अंत ", और प्रतिस्थापन में कब्जा कर लिया पाठ (यदि कोई हो) शामिल हैं।

  var keyword = 'test'; वैर की जगह = $ ("test-section")। Html ()। प्रतिस्थापित करें (नया RegExp ("(^ | \\ W)" + keyword + "($ | [^ \ w])", "igm" ), '$ 1 & lt; span class = "greenbackground" & gt;' + कीवर्ड + '& lt; / span & gt; $ 2'); $ ( "टेस्ट अनुभाग।") एचटीएमएल (प्रतिस्थापित)।  

उस उदाहरण में, "एक गैर-शब्द वर्ण की आपकी परिभाषा" के लिए मैंने \ w का उपयोग किया है, जो जावास्क्रिप्ट का "एक शब्द चरित्र नहीं है" लेकिन निश्चित रूप से आप उस को समायोजित करना चाहते हैं (अन्यथा, आप पहले दिखाए गए \ b समाधान का उपयोग करेंगे)। प्रतिस्थापन की शुरुआत में $ 1 नोट करें, और $ 2 अंत में & nbsp; & mdash; वे हैं जहां हम अक्षर को पहले और बाद में शब्द (यदि कोई हो) से मेल खाते वाले अक्षर डालते हैं।

यदि आपको एक परीक्षा करने की आवश्यकता है जिसे आप नियमित अभिव्यक्ति में व्यक्त नहीं कर सकते हैं, तो आप फ़ंक्शन का उपयोग कर सकते हैं कॉलबैक पर बदलें :

  var keyword = 'test'; Var = $ ("test-section")। Html ()। प्रतिस्थापित करें (नया RegExp ("(^।।)" + Keyword + "($ | [^।])", "Igm"), फ़ंक्शन ( M, c1, c2) {// यहां, सी 1 आपके कुंजीशब्द के पहले अक्षर होगा, या लाइन की शुरुआत में; // c2 आपके कुंजीशब्द के बाद, या पंक्ति के अंत में "" होगा। नई स्ट्रिंग के साथ मैच को बदलने के लिए // उदाहरण के लिए: if (/*... तुम्हारी परिभाषा सी 1 और सी 2 कहते हैं शब्द वर्ण नहीं हैं ... * /) {// इस घटना को अपडेट करें: वापसी c1 + '& lt ; स्पैन क्लास = "ग्रीनबैंग" और gt; '+ कीवर्ड +' & lt; / span & gt; '+ c2;} अन्य {// इसे अपरिवर्तित छोड़ें (प्रभाव में) वापसी m;}}); $ ( "टेस्ट अनुभाग।") एचटीएमएल (प्रतिस्थापित)।  

नियमित रूप से अभिव्यक्ति के लिए विशेष रूप से उन में वर्णों के साथ "कीवर्ड" सावधान रहें चूंकि आप नया RegExp का उपयोग कर रहे हैं, यदि आपका कीवर्ड (कहते हैं) $ span है, तो यह अंत-रेखा-लाइन मार्कर $ इसके बाद अवधि


Comments

Popular posts from this blog

java - org.apache.http.ProtocolException: Target host is not specified -

c# - Chart control: Design messed Up after clearing and re-adding Y-Values -

ruby on rails - Apipie interferes with proper error codes -