Rumah > Soal Jawab > teks badan
Hai, saya ingin membantu mencipta regex yang menggantikan semua teg html tetapi apabila div akhir dan div permulaan berada bersebelahan antara satu sama lain ia menambah ruang seperti
此<b>is</b> <div>a</div><div>test</div>
这是一个测试
Reex semasa saya ialah /(<([^>]+)>)/ig yang akan menggantikan semua tag html tetapi saya ingin tahu bagaimana bila-bila masa terdapat div penutup dan div pembukaan berikut Tambah ruang pada setiap lain.
Saya cuba menggantikan html yang sah dengan /(<([^>]+)>)/ig tetapi saya memerlukan bantuan dengan jarak div apabila ia bersebelahan
P粉2960800762024-04-03 10:33:20
JS mempunyai sokongan terbina dalam untuk penghuraian HTML. Gunakan ini sebagai ganti:
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(' '); }
Cubalah:
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