Remove HTML tags from a String in Dart

2019-04-29 09:27发布

问题:

I’ve been trying to achieve this for a while, I have a string which contains a lot of HTML tags in it which is in some encoded form Like & lt; and & gt; (without the spaces) in between the string. Can anyone assist me in removing those tags so that I can get a plain string?

回答1:

Finally I achieved this using the Dart’s built in html package

Here’s how I did it

import ‘package:html/parser.dart’;
//here goes the function 

String _parseHtmlString(String htmlString) {

var document = parse(htmlString);

String parsedString = parse(document.body.text).documentElement.text;

return parsedString;
}

I don’t know if there is any cleaner way to do this but this one worked for me.



回答2:

3 steps

first, add this to your "pubspec.yaml" file

dependencies: flutter_html: ^0.8.2

second, import to your dart file

import 'package:flutter_html_view/flutter_html_view.dart';

3rd, simply use

HtmlView(data: "Your Html Data"),



回答3:

use this class:

import 'package:html/parser.dart';

class HtmlTags {

  static void removeTag({ htmlString, callback }){
    var document = parse(htmlString);
    String parsedString = parse(document.body.text).documentElement.text;
    callback(parsedString);
  }
}

example: 

HtmlTags.removeTag(
 htmlString: '<h1>Hello Bug</h1>',
 callback: (string) => print(string),
);
output: Hello Bug