Maison > Questions et réponses > le corps du texte
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粉2960800762024-04-03 10:33:20
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 isatest`; console.log(getSpaceSeparatedText(html));
sssccc