diff options
| author | 2020-04-01 02:09:08 +0200 | |
|---|---|---|
| committer | 2020-04-01 02:09:08 +0200 | |
| commit | 656b61ff2956351538cc70fe79cc534b1eb58e0c (patch) | |
| tree | 445103013e333a4c4296f0bc19f4fdc9635c3b15 /lib/lib_phpQuery.php | |
| parent | 5858aaf7fc4f4ebfe7cc4036d46a93397b06ccde (diff) | |
Fix fetch content for complex HEAD (#2867)
* Fix contentSelectorPreviewAction
Was not compatible with https://github.com/FreshRSS/FreshRSS/pull/2588
* Fix lib_phpQuery for <head ...>
#fix https://github.com/FreshRSS/FreshRSS/issues/2864
* Replace split() by explode() for PHP7 compatibility
https://php.net/str-split
* Fix for document with a `<head>` tag more complicated, like `<head
profile="http://www.w3.org/1999/xhtml/vocab">`
Diffstat (limited to 'lib/lib_phpQuery.php')
| -rw-r--r-- | lib/lib_phpQuery.php | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/lib_phpQuery.php b/lib/lib_phpQuery.php index 194efa0c6..53a3952cb 100644 --- a/lib/lib_phpQuery.php +++ b/lib/lib_phpQuery.php @@ -501,9 +501,10 @@ class DOMDocumentWrapper { $metaContentType = $matches[0][0]; $markup = substr($markup, 0, $matches[0][1]) .substr($markup, $matches[0][1]+strlen($metaContentType)); - $headStart = stripos($markup, '<head>'); - $markup = substr($markup, 0, $headStart+6).$metaContentType - .substr($markup, $headStart+6); + $headStart = stripos($markup, '<head'); + $headStop = stripos($markup, '>', $headStart); + $markup = substr($markup, 0, $headStop+1).$metaContentType + .substr($markup, $headStop+1); return $markup; } protected function charsetAppendToHTML($html, $charset, $xhtml = false) { @@ -4206,7 +4207,7 @@ class phpQueryObject .($node->getAttribute('id') ? '#'.$node->getAttribute('id'):'') .($node->getAttribute('class') - ? '.'.join('.', split(' ', $node->getAttribute('class'))):'') + ? '.'.join('.', explode(' ', $node->getAttribute('class'))):'') .($node->getAttribute('name') ? '[name="'.$node->getAttribute('name').'"]':'') .($node->getAttribute('value') && strpos($node->getAttribute('value'), '<'.'?php') === false |
