मुझे सीएसएस फ़ाइल में उपलब्ध रंगों का पता लगाने और इसे एक्सेल फ़ाइल में निर्यात करने के लिए एक दृष्टिकोण की आवश्यकता है

.download-hero, .download-version-toggle, a.is-version {
    color: #eaf5e9;
    background: #026e00
}

तो मुझे यह खोजना होगा कि कोई रंग तत्व है या नहीं। यदि ऐसा है तो मुझे इसे नीचे की तरह एक्सेल शीट में निर्यात करने की आवश्यकता है।

.download-hero                   #eaf5e9      
.download-version-toggle         #eaf5e9  
a.is-version                     #eaf5e9  
-2
Pritiranjan Mishra 31 अक्टूबर 2019, 10:16

1 उत्तर

सबसे बढ़िया उत्तर

मैं @georg से सहमत हूं कि सीएसएस को पार्स करने की जटिलता के कारण आपको इसे स्वयं नहीं करना चाहिए। हालांकि, यदि आप जिस सीएसएस को पार्स कर रहे हैं वह अपेक्षाकृत सरल और अनुमानित है तो आप इसे प्राप्त करने के लिए रेगेक्स का उपयोग कर सकते हैं।

इस उदाहरण का उपयोग मूल सीएसएस के लिए किया जा सकता है (उदाहरण के लिए मीडिया प्रश्नों का समर्थन नहीं करेगा):

const css = `.download-hero, .download-version-toggle, a.is-version {
    color: #eaf5e9;
    background: #026e00
}

a > b {
    background-color: #026e00
    color: black;
}`;

const selectorExp = /\s*([^{]+?)\s*\{\s*([^}]+?)\s*\}/g;
const colorExp = /(^|[\s;])color\s*:\s*([^;]+)/i;

let selectorMatch;
let colors = [];

while (selectorMatch = selectorExp.exec(css)) {
  const [match, selectors, rules] = selectorMatch;
  const colorMatch = colorExp.exec(rules);

  if (colorMatch) {
    colors = colors.concat(selectors.split(/\s*,\s*/g).map(s => ({
      selector: s,
      color: colorMatch[2],
    })));
  }
}

console.log(colors);
0
Soc 31 अक्टूबर 2019, 08:01