Rumah  >  Soal Jawab  >  teks badan

Menggunakan regex untuk menggantikan HTML dalam div dan menambah jarak

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粉043432210P粉043432210215 hari yang lalu486

membalas semua(1)saya akan balas

  • P粉296080076

    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 is 
    
    a
    test
    `; console.log(getSpaceSeparatedText(html));
    sssccc

    balas
    0
  • Batalbalas