Comment extraire du texte séparé par différentes balises HTML dans Cheerio
P粉141911244
P粉141911244 2023-08-13 17:01:06
0
2
480

J'essaie d'extraire les chaînes de texte spécifiques suivantes en tant que sorties distinctes, par exemple (en les récupérant dans le code HTML ci-dessous) :

let text = "C'est le premier texte dont j'ai besoin"; let text2 = "C'est le deuxième texte dont j'ai besoin"; let text3 = "C'est le troisième texte dont j'ai besoin"; ≪/pré> 

Je ne sais vraiment pas comment séparer le texte par différentes balises HTML.

Nombre :31
Quelque chose : C'est le premier texte dont j'ai besoin Something2 : C'est le deuxième texte dont j'ai besoin
Something3: C'est le troisième texte dont j'ai besoin

≪/pré>


P粉141911244
P粉141911244

répondre à tous (2)
P粉198670603

Essayez quelque chose comme ceci et voyez si cela fonctionne :

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); } }

En utilisant votre exemple HTML, le résultat devrait être :

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

    Vous pouvez itérer

    的子节点,并获取任何非空内容的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

      Derniers téléchargements
      Plus>
      effets Web
      Code source du site Web
      Matériel du site Web
      Modèle frontal
      À propos de nous Clause de non-responsabilité Sitemap
      Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!