So extrahieren Sie durch verschiedene HTML-Tags getrennten Text in Cheerio
P粉141911244
P粉141911244 2023-08-13 17:01:06
0
2
482

Ich versuche zum Beispiel, die folgenden spezifischen Textzeichenfolgen als separate Ausgaben zu extrahieren (sie aus dem HTML unten zu holen):

let text = "Das ist der erste Text, den ich brauche"; let text2 = „Das ist der zweite Text, den ich brauche“; let text3 = „Das ist der dritte Text, den ich brauche“; 

Ich weiß wirklich nicht, wie man Text durch verschiedene HTML-Tags trennt.

Anzahl:31
Something: Dies ist der erste Text, den ich brauche Something2:Dies ist der zweite Text, den ich brauche
Something3: Dies ist der dritte Text, den ich brauche


P粉141911244
P粉141911244

Antworte allen (2)
P粉198670603

尝试像这样做,看看是否有效:

html = `your sample html above` domdoc = new DOMParser().parseFromString(html, "text/html") result = domdoc.evaluate('//text()[not(ancestor::span)]', domdoc, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); for (let i = 0; i < result.snapshotLength; i++) { target = result.snapshotItem(i).textContent.trim() if (target.length > 0) { console.log(target); } }

使用您的示例html,输出应为:

"That's the first text I need" "The second text I need" "The third text I need"
    P粉386318086

    您可以迭代

    的子节点,并获取任何非空内容的nodeType === Node.TEXT_NODE

    for (const e of document.querySelector("p").childNodes) { if (e.nodeType === Node.TEXT_NODE && e.textContent.trim()) { console.log(e.textContent.trim()); } } // 或者创建一个数组: const result = [...document.querySelector("p").childNodes] .filter(e => e.nodeType === Node.TEXT_NODE && e.textContent.trim() ) .map(e => e.textContent.trim()); console.log(result);

    Count: 31
    Something: That's the first text I need Something2: The second text I need
    Something3: The third text I need

      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!