aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bridges/GatesNotesBridge.php14
1 files changed, 9 insertions, 5 deletions
diff --git a/bridges/GatesNotesBridge.php b/bridges/GatesNotesBridge.php
index c7b7c37f..61dccb1a 100644
--- a/bridges/GatesNotesBridge.php
+++ b/bridges/GatesNotesBridge.php
@@ -20,11 +20,13 @@ class GatesNotesBridge extends BridgeAbstract
$apiUrl = self::URI . $api_endpoint . http_build_query($params);
$rawContent = getContents($apiUrl);
- $cleanedContent = str_replace('\r\n', '', substr($rawContent, 1, -1));
- $cleanedContent = str_replace('\"', '"', $cleanedContent);
+ $cleanedContent = str_replace([
+ '<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">',
+ '</string>',
+ ], '', $rawContent);
// The content is actually a json between quotes with \r\n inserted
- $json = json_decode($cleanedContent);
+ $json = Json::decode($cleanedContent, false);
foreach ($json as $article) {
$item = [];
@@ -57,8 +59,10 @@ class GatesNotesBridge extends BridgeAbstract
$article_html = defaultLinkTo($article_html, $this->getURI());
$top_description = '<p>' . $article_html->find('div.article_top_description', 0)->innertext . '</p>';
- $hero_image = '<img src=' . $article_html->find('img.article_top_DMT_Image', 0)->getAttribute('data-src') . '>';
-
+ $heroImage = $article_html->find('img.article_top_DMT_Image', 0);
+ if ($heroImage) {
+ $hero_image = '<img src=' . $heroImage->getAttribute('data-src') . '>';
+ }
$article_body = $article_html->find('div.TGN_Article_ReadTimeSection', 0);
// Remove the menu bar on some articles (PDF download etc.)