summaryrefslogtreecommitdiffstats
path: root/lib/Fetcher/FeedFetcher.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Fetcher/FeedFetcher.php')
-rwxr-xr-xlib/Fetcher/FeedFetcher.php30
1 files changed, 16 insertions, 14 deletions
diff --git a/lib/Fetcher/FeedFetcher.php b/lib/Fetcher/FeedFetcher.php
index 86e0edd18..c79d40685 100755
--- a/lib/Fetcher/FeedFetcher.php
+++ b/lib/Fetcher/FeedFetcher.php
@@ -301,22 +301,24 @@ class FeedFetcher implements IFeedFetcher
}
// purification is done in the service layer
- $body = mb_convert_encoding(
- $body,
- 'HTML-ENTITIES',
- mb_detect_encoding($body)
- );
- if (strpos($body, 'CDATA') !== false) {
- libxml_use_internal_errors(true);
- $data = simplexml_load_string(
- "<?xml version=\"1.0\"?><item>$body</item>",
- SimpleXMLElement::class,
- LIBXML_NOCDATA
+ if (!is_null($body)) {
+ $body = mb_convert_encoding(
+ $body,
+ 'HTML-ENTITIES',
+ mb_detect_encoding($body)
);
- if ($data !== false && libxml_get_last_error() === false) {
- $body = (string) $data;
+ if (strpos($body, 'CDATA') !== false) {
+ libxml_use_internal_errors(true);
+ $data = simplexml_load_string(
+ "<?xml version=\"1.0\"?><item>$body</item>",
+ SimpleXMLElement::class,
+ LIBXML_NOCDATA
+ );
+ if ($data !== false && libxml_get_last_error() === false) {
+ $body = (string) $data;
+ }
+ libxml_clear_errors();
}
- libxml_clear_errors();
}
$item->setBody($body);