जांचें कि कोई स्ट्रिंग html है या नहीं


98

मेरे पास एक निश्चित स्ट्रिंग है, जिसके लिए मैं यह जांचना चाहता हूं कि यह html है या नहीं। मैं उसी के लिए regex का उपयोग कर रहा हूं लेकिन उचित परिणाम नहीं मिल रहा है।

मैंने अपने रेगेक्स को मान्य किया और यह यहाँ ठीक काम करता है ।

var htmlRegex = new RegExp("<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)</\1>");
return htmlRegex.test(testString);

यहाँ फिडेल है, लेकिन रेगेक्स वहाँ नहीं चल रहा है। http://jsfiddle.net/wFWtc/

मेरी मशीन पर, कोड ठीक चलता है लेकिन मुझे परिणाम के रूप में सही के बजाय गलत मिलता है। यहाँ क्या याद आ रही है?


5
HTML पार्स करने के लिए HTML पार्सर का उपयोग करें। कृपया पढ़ें इस करता है, तो आप पहले से ही नहीं है।
फ्रैडरिक हमीदी

3
आने वाले प्रश्न रखने के लिए, वहाँ एक ढेर बॉट कि aoutmatically उस में एचटीएमएल और regex के साथ हर प्रश्न पर एक टिप्पणी कर देगा होना चाहिए
बार्ट्लोमिएज लेवासडोवस्की

3
यह थोड़े पर निर्भर करता है कि आप किस स्तर के परिष्कार को चेक से चाहते हैं। आप जांच सकते हैं कि स्ट्रिंग में कम से कम एक <और कम से कम एक है >और इसे HTML कहा जाता है, या आप जांच सकते हैं कि यह सही HTML सिंटैक्स, या बीच में से कुछ के साथ सख्ती से मान्य है। मामलों में सरलतम के लिए एक HTML पार्सर आवश्यक नहीं है।
जेजे

2
आप एक स्ट्रिंग की जाँच HTML क्यों करते हैं?
नाहदथ

2
@ user1240679: मान्य मार्कअप प्रारूप? किस तरह की वैधता? सबसे सख्त अर्थ में, आपको इसका वर्णन करने के लिए DTD की आवश्यकता है। ढीले अर्थों में, आप जाँच सकते हैं कि टैग ठीक से मेल खाते हैं। रेगेक्स के लिए ऊपर दिए गए 2 मामलों में से कोई भी काम नहीं है।
नाहदथ

जवाबों:


315

एक स्ट्रिंग है HTML यह जाँचने के लिए एक बेहतर रेगेक्स का उपयोग करें:

/^/

उदाहरण के लिए:

/^/.test('') // true
/^/.test('foo bar baz') //true
/^/.test('<p>fizz buzz</p>') //true

वास्तव में, यह इतना अच्छा है, कि यह उसके पास जाने trueवाले प्रत्येक तार के लिए वापस आ जाएगा , जो कि क्योंकि प्रत्येक स्ट्रिंग HTML है । गंभीरता से, भले ही यह खराब स्वरूपित या अमान्य है, फिर भी यह HTML है।

यदि आप जिस चीज़ की तलाश कर रहे हैं, वह केवल किसी पाठ सामग्री की बजाय HTML तत्वों की उपस्थिति है, तो आप इनकी तर्ज पर कुछ का उपयोग कर सकते हैं:

/<\/?[a-z][\s\S]*>/i.test()

यह किसी भी तरह से HTML को पार्स करने में आपकी मदद नहीं करेगा, लेकिन यह HTML तत्वों से युक्त स्ट्रिंग को निश्चित रूप से चिह्नित करेगा।


47
मुझे ईमानदारी से आश्चर्य है कि मैं स्नार्क के लिए अधिक डाउनवोट नहीं मिला।
zzzzBov

7
@clenemt, तो आप a < b && a > cHTML मानते हैं ?
zzzzBov

1
@zzzzBov आप जानते हैं कि आप a<b && a>cएचटीएमएल मानते हैं ... काश एचटीएमएल डिटेक्शन को इतना सरल बनाया जा सकता। पार्स करना कभी आसान नहीं होता।
ओरियाडाम

2
@oriadam, संदर्भ उस मामले में तत्वों का पता लगाने के लिए था। यदि आप a < b && a > cब्राउज़र का उपयोग करते हैं >और <पात्रों को &gt;और &lt;संस्थाओं में उचित रूप से बदल देंगे । यदि, इसके बजाय, आप उपयोग a<b && a>cकरते हैं तो ब्राउज़र मार्कअप की व्याख्या करेगा a<b && a>c</b>क्योंकि एक स्थान की कमी का मतलब है कि <bएक <b>तत्व खुलता है । यहाँ एक त्वरित डेमो है कि मैं किस बारे में बात कर रहा हूँ
zzzzBov

4
यह संभवत: सबसे अधिक मतदान वाला ट्रोल उत्तर है, जिसे मैंने देखा है। ;)
अन्डिस

72

विधि # 1 । यदि स्ट्रिंग में HTML डेटा है तो परीक्षण करने के लिए यहां एक सरल कार्य है:

function isHTML(str) {
  var a = document.createElement('div');
  a.innerHTML = str;

  for (var c = a.childNodes, i = c.length; i--; ) {
    if (c[i].nodeType == 1) return true; 
  }

  return false;
}

यह विचार है कि ब्राउज़र डोम पार्सर को यह तय करने की अनुमति देता है कि क्या स्ट्रिंग HTML जैसी दिखती है या नहीं। जैसा कि आप देख सकते हैं कि यह केवल ELEMENT_NODE( nodeType1) के लिए जाँच करता है ।

मैंने कुछ परीक्षण किए और ऐसा लगता है कि यह काम करता है:

isHTML('<a>this is a string</a>') // true
isHTML('this is a string')        // false
isHTML('this is a <b>string</b>') // true

यह समाधान HTML स्ट्रिंग का ठीक से पता लगाएगा, हालाँकि इसका साइड इफेक्ट है कि img / vide / etc। आंतरिक HTML में पार्स करते ही टैग संसाधन डाउनलोड करना शुरू कर देंगे।

विधि # 2 । एक अन्य विधि DOMParser का उपयोग करती है और इसमें लोडिंग संसाधन दुष्प्रभाव नहीं होते हैं:

function isHTML(str) {
  var doc = new DOMParser().parseFromString(str, "text/html");
  return Array.from(doc.body.childNodes).some(node => node.nodeType === 1);
}

नोट:
1. Array.fromES2015 विधि है, के साथ प्रतिस्थापित किया जा सकता है [].slice.call(doc.body.childNodes)
2. someकॉल में एरो फ़ंक्शन को सामान्य अनाम फ़ंक्शन से बदला जा सकता है।


3
यह एक भयानक विचार है। हालाँकि, यह फ़ंक्शन क्लोजिंग टैग (यानी isHTML("</a>") --> false) का पता नहीं लगा सका ।
लुईस

9
महान समाधान! .. एकमात्र नकारात्मक पक्ष-प्रभाव यह है कि यदि आपके html में कोई स्थिर संसाधन जैसे छवि src विशेषता है .. innerHTMLब्राउज़र को उन संसाधनों को लाने के लिए बाध्य करेगा। :(
जोस ब्राउन

@ JoseBrowne भले ही यह DOM में अपडेड न हो?
कुस

1
@ अकुस हां, भले ही अपीयरेंस न हो। DOMParser समाधान का उपयोग करें।
dfsq

1
अच्छा विचार है, लेकिन स्वीकार किए जाते हैं जवाब प्रदर्शन के लिए बेहतर नहीं होगा? विशेष रूप से यदि आपके पास बहुत बड़ा तार है (इरादा इरादा) या यदि आपको इस परीक्षण का उपयोग करना है।
DerpyNerd 11

13

थोड़ा सा सत्यापन:

/<(?=.*? .*?\/ ?>|br|hr|input|!--|wbr)[a-z]+.*?>|<([a-z]+).*?<\/\1>/i.test(htmlStringHere) 

यह खाली टैग (कुछ पूर्वनिर्धारित) के लिए खोज करता है और /XHTML खाली टैग को समाप्त कर देता है और खाली टैग के कारण HTML के रूप में मान्य होता है या टैग नाम पर कब्जा कर लेगा और यह पता लगाने का प्रयास करेगा कि HTML के रूप में मान्य करने के लिए स्ट्रिंग में कहीं टैग बंद हो रहा है।

समझाया गया डेमो: http://regex101.com/r/cX0eP2

अपडेट करें:

के साथ पूर्ण सत्यापन:

/<(br|basefont|hr|input|source|frame|param|area|meta|!--|col|link|option|base|img|wbr|!DOCTYPE).*?>|<(a|abbr|acronym|address|applet|article|aside|audio|b|bdi|bdo|big|blockquote|body|button|canvas|caption|center|cite|code|colgroup|command|datalist|dd|del|details|dfn|dialog|dir|div|dl|dt|em|embed|fieldset|figcaption|figure|font|footer|form|frameset|head|header|hgroup|h1|h2|h3|h4|h5|h6|html|i|iframe|ins|kbd|keygen|label|legend|li|map|mark|menu|meter|nav|noframes|noscript|object|ol|optgroup|output|p|pre|progress|q|rp|rt|ruby|s|samp|script|section|select|small|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|track|tt|u|ul|var|video).*?<\/\2>/i.test(htmlStringHere) 

यह उचित सत्यापन करता है क्योंकि इसमें सभी शामिल हैं HTML टैग शामिल हैं, खाली वाले पहले बाकी हैं, जिन्हें समापन टैग की आवश्यकता है।

यहां बताया गया डेमो: http://regex101.com/r/pE1mT5


1
बस एक नोट नीचे regex काम करता है, लेकिन यह "" <strong> हैलो दुनिया "जैसे अस्पष्ट HTML टैग का पता नहीं लगाएगा। यह दी गई HTML टूट गई है इसलिए इसे एक स्ट्रिंग के रूप में माना जाना चाहिए लेकिन व्यावहारिक उद्देश्यों के लिए आपका ऐप इनका भी पता लगाना चाहता है।
TK123

HTML उपयोगकर्ता-एजेंटों की क्षमाशीलता को ध्यान में रखकर बनाया गया है। "अमान्य" टैग अमान्य नहीं हैं, वे केवल अज्ञात हैं, और अनुमत हैं। "अमान्य" विशेषताएँ अमान्य नहीं हैं ... यह विशेष रूप से उल्लेखनीय है जब कोई "वेब घटक" और JSX जैसी तकनीकों को शामिल करना शुरू करता है, जो HTML और समृद्ध घटक विवरणों को मिलाते हैं, आमतौर पर शैडो डोम उत्पन्न करते हैं। एक फ़ाइल और eval में यह थप्पड़ document.querySelector('strange')- यह काम करेंगे।
amcgregor

(संक्षेप में: विनिर्देशन कैसे लिखा जाता है, इसके कारण HTML मार्कअप को "मान्य" करने का प्रयास अनिवार्य रूप से एक मूर्खता है। नमूना HTML दस्तावेज़ के लिए "अमान्य" तत्व के साथ दिया गया लिंक, 100% पूर्ण रूप से निर्मित है, पूरा HTML दस्तावेज़ -और के बाद से एक और उदाहरण 1997 के रूप में किया गया है)।
amcgregor

9

ऊपर zzzzBov का उत्तर अच्छा है, लेकिन यह आवारा समापन टैग के लिए खाता नहीं है, उदाहरण के लिए:

/<[a-z][\s\S]*>/i.test('foo </b> bar'); // false

एक संस्करण जो समापन टैग भी पकड़ता है वह यह हो सकता है:

/<[a-z/][\s\S]*>/i.test('foo </b> bar'); // true

एक टिप्पणी के रूप में पोस्ट करने के बजाय एक संपादन का सुझाव देना बेहतर हो सकता था।
ज़्लातिन ज़्लाटेव

मुझे लगता है कि आपका मतलब है <[a-z/][\s\S]*>- पहले समूह में स्लैश पर ध्यान दें।
रयान गुइल

7

यहाँ एक मैला-लाइनर है जिसे मैं समय-समय पर उपयोग करता हूं:

var isHTML = RegExp.prototype.test.bind(/(<([^>]+)>)/i);

यह मूल रूप से वापस आ जाएगी trueयुक्त एक तार के लिए <पीछा किया द्वारा ANYTHINGद्वारा पीछा किया>

द्वारा ANYTHING , मैं मूल रूप से एक खाली स्ट्रिंग को छोड़कर कुछ भी मतलब है।

यह महान नहीं है, लेकिन यह एक-लाइनर है।

प्रयोग

isHTML('Testing');               // false
isHTML('<p>Testing</p>');        // true
isHTML('<img src="hello.jpg">'); // true
isHTML('My < weird > string');   // true (caution!!!)
isHTML('<>');                    // false

जैसा कि आप देख सकते हैं कि यह एकदम सही है, लेकिन कुछ मामलों में यह आपके लिए काम कर सकता है।


1
मुझे जिस चीज की जरूरत थी। कुछ भी नहीं फैंसी, बस साफ। धन्यवाद!
मोइस्कूल

6

यहां सभी उत्तर अति-समावेशी हैं, वे केवल <इसके बाद देखते हैं >। यह पता लगाने का कोई सटीक तरीका नहीं है कि क्या स्ट्रिंग HTML है, लेकिन आप बेहतर कर सकते हैं।

नीचे हम अंत टैग की तलाश करते हैं , और बहुत अधिक सख्त और अधिक सटीक होगा:

import re
re_is_html = re.compile(r"(?:</[^<]+>)|(?:<[^<]+/>)")

और यहाँ यह कार्रवाई में है:

# Correctly identified as not HTML:
print re_is_html.search("Hello, World")
print re_is_html.search("This is less than <, this is greater than >.")
print re_is_html.search(" a < 3 && b > 3")
print re_is_html.search("<<Important Text>>")
print re_is_html.search("<a>")

# Correctly identified as HTML
print re_is_html.search("<a>Foo</a>")
print re_is_html.search("<input type='submit' value='Ok' />")
print re_is_html.search("<br/>")

# We don't handle, but could with more tweaking:
print re_is_html.search("<br>")
print re_is_html.search("Foo &amp; bar")
print re_is_html.search("<input type='submit' value='Ok'>")

4

यदि आप एक स्ट्रिंग शाब्दिक से एक रेगेक्स बना रहे हैं तो आपको किसी भी बैकस्लैश से बचने की आवश्यकता है:

var htmlRegex = new RegExp("<([A-Za-z][A-Za-z0-9]*)\\b[^>]*>(.*?)</\\1>");
// extra backslash added here ---------------------^ and here -----^

यह आवश्यक नहीं है यदि आप एक रेगेक्स शाब्दिक का उपयोग करते हैं, लेकिन फिर आपको आगे की स्लैश से बचने की आवश्यकता है:

var htmlRegex = /<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/\1>/;
// forward slash escaped here ------------------------^

इसके अलावा आपके jsfiddle ने काम नहीं किया क्योंकि आपने एक onloadहैंडलर के अंदर एक onloadहैंडलर सौंपा था - डिफ़ॉल्ट रूप से बाईं ओर चौखटे और एक्सटेंशन पैनल में सेट जेएस को एक में लपेटना है onload। इसे एक नॉरप विकल्प में बदलें और स्ट्रिंग शाब्दिक भागने को ठीक करें और यह "काम करता है" (बाधाओं के भीतर हर किसी ने टिप्पणियों में बताया है): http://jsfiddle.net/wFWtc/4/

जहाँ तक मुझे पता है कि जावास्क्रिप्ट रेगुलर एक्सप्रेशन का बैक-रेफरेंस नहीं है। तो आपकी अभिव्यक्ति का यह हिस्सा:

</\1>

जेएस में काम नहीं करेगा (लेकिन कुछ अन्य भाषाओं में काम करेगा)।



खैर, यह परीक्षण करेगा कि टैग में से एक ठीक लगता है, लेकिन बाकी के बारे में कुछ भी नहीं। निश्चित नहीं है कि ओपी किस प्रकार की "वैधता" चाहता है।
न्हात्थ

1
<br> <hr> <input...>@ user1240679 के बारे में क्या ?
CS

3

/<\/?[^>]*>/.test(str) केवल यह पता लगाएं कि इसमें html टैग हैं या नहीं, यह एक xml हो सकता है


27 is < 42, and 96 > 42. यह HTML नहीं है।
amcgregor

3

JQuery के साथ:

function isHTML(str) {
  return /^<.*?>$/.test(str) && !!$(str)[0];
}

2
isHTML("<foo>");// रिटर्न सच isHTML("div");/ रिटर्न सच है अगर divपेज पर हैं
ACK_stoverflow

@yekta - तुम किस बारे में ले रहे हो? यह माना जाता है कि स्ट्रिंग की जांच करना स्ट्रिंग html है या नहीं। एक ईमेल html टैग नहीं है जहाँ तक मुझे पता है ... isHTML ('foo@bar.com ') -> गलत // सही
gtournie

1
एक स्ट्रिंग कुछ भी हो सकती है, अगर आपको इसका HTML टैग पता है तो इसकी जाँच करें कि क्या इसका HTML पहली जगह में है, मैं आपकी बात का पालन नहीं करता। @एक चयनकर्ता के लिए एक वैध वाक्य रचना नहीं है। इस प्रकार जब आप इसे एक jQuery चयनकर्ता को पास करते हैं, तो यह एक अपवाद (यानी $("you@example.com")से !!$(str)[0]) फेंक देगा । मैं विशेष रूप से !!$(str)[0] भाग की बात कर रहा हूँ । आपने अभी-अभी अपना उत्तर संपादित किया है, लेकिन अब jQuery के कुछ भी करने से पहले आप HTML की जाँच कर रहे हैं।
yekta

मुझे नहीं लगता कि लेखक यह जांचना चाहता था कि क्या यह सिर्फ एक स्ट्रिंग थी। यही तो बात है। वह जो चाहता था वह यह जांचने में सक्षम था कि क्या स्ट्रिंग एक वैध HTML टैग था , न कि केवल HTML (अन्यथा यह थोड़ा बेवकूफ है)। मैंने @ACK_stoverflow टिप्पणी पढ़ने के बाद अपना उत्तर अपडेट किया, लेकिन मुझे यकीन है कि एक साधारण रेगेक्स को यह करना चाहिए।
gtournie

3

इस मामले में jQuery का उपयोग करना, सबसे सरल रूप होगा:

if ($(testString).length > 0)

यदि $(testString).length = 1, इसका अर्थ है कि अंदर एक HTML टैग है textStging


नीचे दिए गए उत्तर के अनुसार ("jQuery के साथ शुरू", इस एक से चार साल पहले लिखा गया है!), एकल प्रविष्टि बिंदु से कई उपयोगों के खराब विकल्प पर विचार करें। $()एक CSS चयनकर्ता ऑपरेशन है। लेकिन यह भी एक HTML पाठ क्रमांकन से डोम नोड कारखाने। लेकिन यह भी ... jQuery पर एक ही निर्भरता से पीड़ित अन्य उत्तर के अनुसार, "div" HTML नहीं है, लेकिन trueअगर कोई <div>तत्व पृष्ठ पर मौजूद है तो वह वापस आ जाएगा । यह एक बहुत, बहुत बुरा तरीका है, क्योंकि मैं लगभग किसी भी समाधान के साथ उम्मीद करने के लिए बड़ा हो गया हूं जिसमें jQuery शामिल है। (इसे मरने दो।)
एमीगेलर

1

पाठ को पार्स करने के प्रयास के लिए खुद ब्राउज़र का उपयोग करने से जुड़े फैंसी समाधान हैं, यह पहचान कर कि क्या कोई डोम नोड्स का निर्माण किया गया है, जो ... धीमा होगा। या नियमित अभिव्यक्ति जो तेज होगी, लेकिन ... संभावित रूप से गलत है। इस समस्या से दो बहुत अलग सवाल उठ रहे हैं:

Q1: एक स्ट्रिंग में HTML टुकड़े होते हैं?

एक HTML दस्तावेज़ का स्ट्रिंग हिस्सा है, जिसमें HTML तत्व मार्कअप या एन्कोडेड इकाइयां हैं? यह एक संकेतक के रूप में इस्तेमाल किया जा सकता है कि स्ट्रिंग को विरंजन / स्वच्छता या इकाई डिकोडिंग की आवश्यकता हो सकती है:

/</?[a-z][^>]*>|(\&(?:[\w\d]+|#\d+|#x[a-f\d]+);/

आप इस पैटर्न को उपयोग में देख सकते हैं को इस लेखन के समय सभी मौजूदा उत्तरों से सभी उदाहरणों के विरुद्ध , साथ ही कुछ ... बल्कि घृणित WYSIWYG- या वर्ड-जनरेटेड सैंपल टेक्स्ट और कई प्रकार के चरित्र इकाई संदर्भ।

Q2: स्ट्रिंग एक HTML दस्तावेज़ है?

HTML विनिर्देश आश्चर्यजनक क्या यह एक HTML दस्तावेज पर विचार करता है के रूप में ढीला है । ब्राउज़र HTML के रूप में लगभग किसी भी कचरा पाठ को पार्स करने के लिए चरम लंबाई तक जाते हैं। दो दृष्टिकोण: या तो सब कुछ HTML पर विचार करें (चूंकि यदि text/htmlसामग्री-प्रकार के साथ दिया गया है, तो उपयोगकर्ता-एजेंट द्वारा इसे HTML के रूप में व्याख्या करने की कोशिश करने के लिए महान प्रयास किया जाएगा ) या उपसर्ग मार्कर की तलाश करें:

<!DOCTYPE html>

"अच्छी तरह से गठित" के संदर्भ में, वह, और लगभग कुछ भी "आवश्यक" नहीं है। निम्नलिखित एक 100% पूर्ण, पूरी तरह से वैध HTML दस्तावेज़ है जिसमें आपके द्वारा सोचा गया हर HTML तत्व है:

<!DOCTYPE html>
<title>Yes, really.</title>
<p>This is everything you need.

हाँ। वहाँ कैसे जैसे कि "लापता" तत्वों के लिए फार्म पर स्पष्ट नियम हैं <html>, <head>, और <body>। हालांकि मुझे यह पता नहीं है कि एसओ का वाक्यविन्यास हाइलाइटिंग एक स्पष्ट संकेत के बिना ठीक से पता लगाने में विफल रहा।


0

मेरा समाधान है

const element = document.querySelector('.test_element');

const setHtml = elem =>{
    let getElemContent = elem.innerHTML;

    // Clean Up whitespace in the element
    // If you don't want to remove whitespace, then you can skip this line
    let newHtml = getElemContent.replace(/[\n\t ]+/g, " ");

    //RegEX to check HTML
    let checkHtml = /<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/\1>/.test(getElemContent);

    //Check it is html or not
    if (checkHtml){
        console.log('This is an HTML');
        console.log(newHtml.trim());
    }
    else{
        console.log('This is a TEXT');
        console.log(elem.innerText.trim());
    }
}

setHtml(element);

आपकी नियमित अभिव्यक्ति अत्यधिक दोषपूर्ण बनाम अधिक व्यापक अभिव्यक्ति लगती है , और पूर्व-प्रसंस्करण (प्रारंभिक प्रतिस्थापन) की आवश्यकता अत्यधिक दुर्भाग्यपूर्ण है।
amcgregor

-1

एक एनपीएम पैकेज है-html जो इस https://github.com/sindresorhus/is-html को हल करने का प्रयास कर सकता है


मैं उस अभिव्यक्ति को समझने का प्रयास नहीं करता जिसका उपयोग करने का प्रयास किया गया है, जो घोषित सिद्धांत को छोड़कर विफल रहता है, और अतिरिक्त निर्भरता से खींचे गए ज्ञात HTML तत्वों से निर्मित "पूर्ण" पैटर्न इस तथ्य की अनदेखी करता है कि HTML कैसे काम करता है, और नहीं बहुत लंबे समय से। इसके अतिरिक्त, आधार पैटर्न में स्पष्ट रूप से उल्लेख <html>और <body>टैग हैं, जो दोनों पूरी तरह से वैकल्पिक हैं । "एक्सएमएल मैच नहीं" परीक्षण बता रहा है।
एमाग्रीगोर

@amcgregor अगर आपको लगता है कि आपका समाधान बेहतर है तो शायद isHTML रेपो में योगदान करें? और regex101 से परीक्षण के अपने सूट जोड़ें? यह समुदाय के लिए मूल्यवान होगा
कॉलिन डी

उस पुस्तकालय का मूल उद्देश्य गुमराह है और स्वाभाविक रूप से बड़ी संख्या में मामलों में गलत होगा, आमतौर पर झूठे-झंडे के रूप में-HTML के रूप में टैग की उपस्थिति के कारण यह समझ में नहीं आता है; सत्यापन इस तरह सफल नहीं हो सकता। इसके अतिरिक्त, एक साधारण रेगेक्स या एक (संपादित करें: जोड़ी ) लाइब्रार [ies]… हम प्रोग्राम को कैसे भूल सकते हैं , और नोड / एनपीएम एक भाषा या टूलचैन नहीं है जिसे मैं आमतौर पर उपयोग करने, योगदान करने, या उपयोग करने के लिए प्रोत्साहित करना चाहता हूं। ।
amcgregor

ठीक है, जब मैं सिर्फ मदद करने की कोशिश कर रहा था, तो आप मेरे लिए बहुत नकारात्मक हो रहे हैं। मैं npm के आधार पर गुमराह होने से असहमत हूं। कल्पना कीजिए कि आपका स्टैक ओवरफ्लो उत्तर भविष्य में एक छोटे से मोड़ के साथ आया। मैं, आपके पुस्तकालय का उपयोग करने वाले एक डेवलपर के रूप में, बस उन्नयन करूंगा, और मुझे अधिक उचित व्यवहार मिलेगा। इसके बजाय, मुझे .... टूटे हुए व्यवहार के साथ रहना है या अपने संपादन प्राप्त करने के लिए इस स्टैक ओवरफ्लो उत्तर को फिर से देखना है? वह वैकल्पिक ब्रह्मांड है
कॉलिन डी

नकारात्मक? मैं अपने रुख की व्याख्या कर रहा था और मैं वह क्यों नहीं कर रहा था जो अन्यथा एक समझदार बात प्रतीत होती है। ध्यान दें, हालांकि, मैंने जो लेख जोड़ा था, वह पहले थोड़ा अधिक भड़काऊ (लिंक-अप) से फॉलो-ऑन था जिसने बहुत चर्चा उत्पन्न की। उन्होंने एक तकनीकी पत्र प्रकाशित किया , जो वहां से भी जुड़ा था, नीचे की ओर। मैं गुणवत्ता के बारे में साक्ष्य के साथ फिर से काम करने के बारे में आपके आंत की भावना का मुकाबला करता हूं। रेफरी: §7.2 (और बाएँ पैड आपदा और eslint)
amcgregor
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.