Convert HTML to plain text in JS without browser environment

前端 未结 6 1357
孤街浪徒
孤街浪徒 2020-12-29 23:59

I have a CouchDB view map function that generates an abstract of a stored HTML document (first x characters of text). Unfortunately I have no browser environmen

6条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-12-30 00:29

    Updated @EpokK answer for html to email text version use-case

    const htmltoText = (html: string) => {
      let text = html;
      text = text.replace(/\n/gi, "");
      text = text.replace(//gi, "");
      text = text.replace(//gi, "");
      text = text.replace(/(.*?)<\/a.*?>/gi, " $2 $1 ");
      text = text.replace(/<\/div>/gi, "\n\n");
      text = text.replace(/<\/li>/gi, "\n");
      text = text.replace(//gi, "  *  ");
      text = text.replace(/<\/ul>/gi, "\n\n");
      text = text.replace(/<\/p>/gi, "\n\n");
      text = text.replace(//gi, "\n");
      text = text.replace(/<[^>]+>/gi, "");
      text = text.replace(/^\s*/gim, "");
      text = text.replace(/ ,/gi, ",");
      text = text.replace(/ +/gi, " ");
      text = text.replace(/\n+/gi, "\n\n");
      return text;
    };
    
    

提交回复
热议问题