findContentBody function

Element? findContentBody(
  1. List<Element> childs
)

Implementation

Element? findContentBody(List<Element> childs) {
  final matched = childs
      .map((element) {
        if (element.localName == 'article' ||
            element.classes
                .where((classname) =>
                    classname.contains('content') ||
                    classname.contains('article'))
                .toList()
                .isNotEmpty) {
          return element;
        }
      })
      .where((element) => element != null)
      .toList();
  if (matched.isNotEmpty) {
    return matched.first;
  } else {
    for (var ele in childs) {
      final rs = findContentBody(ele.children);
      if (rs != null) {
        return rs;
      }
    }
  }
}