Utiliser regex pour remplacer le HTML dans div et ajouter un espacement
P粉043432210
P粉043432210 2024-04-02 11:28:02
0
1
558

Salut, j'aimerais de l'aide pour créer une regex qui remplace toutes les balises html mais lorsque le div de fin et le div de début sont côte à côte, cela ajoute un espace comme

此<b>is</b> <div>a</div><div>test</div>

这是一个测试

Mon regex actuelle est /(<([^>]+)>)/ig qui remplacera toutes les balises html mais je veux savoir comment chaque fois qu'il y a un div de fermeture et le div d'ouverture suivant Ajouter un espace à chacun autre.

J'ai essayé de remplacer le HTML valide par /(<([^>]+)>)/ig mais j'ai besoin d'aide pour l'espacement des div lorsqu'ils sont côte à côte

P粉043432210
P粉043432210

répondre à tous(1)
P粉296080076

JS prend en charge l'analyse HTML. Utilisez plutôt ceci :

function getSpaceSeparatedText(html) {
  // Create an element and use it as a parser
  let parser = document.createElement('div');
  
  parser.innerHTML = html;
  
  const result = [];
  
  for (const node of parser.childNodes) {
    // Get the trimmed text
    const text = node.textContent.trim();
    
    // If text is not empty, add it to result
    if (text) {
      result.push(text);
    }
  }
  
  return result.join(' ');
}

Essayez-le :

console.config({ maximize: true });

function getSpaceSeparatedText(html) {
  let parser = document.createElement('div');
  
  parser.innerHTML = html;
  
  const result = [];
  
  for (const node of parser.childNodes) {
    const text = node.textContent.trim();
    
    if (text) {
      result.push(text);
    }
  }
  
  return result.join(' ');
}

const html = `
This is 
a
test
`; console.log(getSpaceSeparatedText(html));
sssccc
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal