@@ 109-120 (lines=12) @@ | ||
106 | $nodes = $this->article()->getRawDoc()->find('script[type="application/ld+json"]'); |
|
107 | ||
108 | /* @var $node Element */ |
|
109 | foreach ($nodes as $node) { |
|
110 | try { |
|
111 | $json = json_decode($node->text()); |
|
112 | if (isset($json->datePublished)) { |
|
113 | $dt = new \DateTime($json->datePublished); |
|
114 | break; |
|
115 | } |
|
116 | } |
|
117 | catch (\Exception $e) { |
|
118 | // Do nothing here in case the node has unrecognizable date information. |
|
119 | } |
|
120 | } |
|
121 | ||
122 | return $dt; |
|
123 | } |
|
@@ 203-214 (lines=12) @@ | ||
200 | $nodes = $this->article()->getRawDoc()->find('script[type="application/ld+json"]'); |
|
201 | ||
202 | /* @var $node Element */ |
|
203 | foreach ($nodes as $node) { |
|
204 | try { |
|
205 | $json = json_decode($node->text()); |
|
206 | if (isset($json->dateCreated)) { |
|
207 | $dt = new \DateTime($json->dateCreated); |
|
208 | break; |
|
209 | } |
|
210 | } |
|
211 | catch (\Exception $e) { |
|
212 | // Do nothing here in case the node has unrecognizable date information. |
|
213 | } |
|
214 | } |
|
215 | ||
216 | if (!is_null($dt)) { |
|
217 | return $dt; |
|
@@ 244-257 (lines=14) @@ | ||
241 | $nodes = $this->article()->getRawDoc()->find('meta[name="parsely-page"]'); |
|
242 | ||
243 | /* @var $node Element */ |
|
244 | foreach ($nodes as $node) { |
|
245 | try { |
|
246 | if ($node->hasAttribute('content')) { |
|
247 | $json = json_decode($node->getAttribute('content')); |
|
248 | if (isset($json->pub_date)) { |
|
249 | $dt = new \DateTime($json->pub_date); |
|
250 | break; |
|
251 | } |
|
252 | } |
|
253 | } |
|
254 | catch (\Exception $e) { |
|
255 | // Do nothing here in case the node has unrecognizable date information. |
|
256 | } |
|
257 | } |
|
258 | ||
259 | return $dt; |
|
260 | } |