1
0
mirror of https://github.com/stonega/tsacdop synced 2024-12-10 23:49:35 +01:00
tsacdop-podcast-app-android/lib/webfeed/domain/rss_content.dart
2020-02-09 20:29:09 +08:00

31 lines
673 B
Dart

import 'package:xml/xml.dart';
final _imagesRegExp = new RegExp(
"<img\\s.*?src=(?:'|\")([^'\">]+)(?:'|\")",
multiLine: true,
caseSensitive: false,
);
/// For RSS Content Module:
///
/// - `xmlns:content="http://purl.org/rss/1.0/modules/content/"`
///
class RssContent {
String value;
Iterable<String> images;
RssContent(this.value, this.images);
factory RssContent.parse(XmlElement element) {
if (element == null) {
return null;
}
final content = element.text;
final images = <String>[];
_imagesRegExp.allMatches(content).forEach((match) {
images.add(match.group(1));
});
return RssContent(content, images);
}
}