diff options
-rw-r--r-- | tests/unit/utility/FeedFetcherTest.php | 4 | ||||
-rw-r--r-- | utility/feedfetcher.php | 11 |
2 files changed, 11 insertions, 4 deletions
diff --git a/tests/unit/utility/FeedFetcherTest.php b/tests/unit/utility/FeedFetcherTest.php index 7bbf54371..3865bda9f 100644 --- a/tests/unit/utility/FeedFetcherTest.php +++ b/tests/unit/utility/FeedFetcherTest.php @@ -104,7 +104,7 @@ class FeedFetcherTest extends \OCA\AppFramework\Utility\TestUtility { $this->url = 'http://tests'; $this->permalink = 'http://permalink'; - $this->title = 'my title&lt;'; + $this->title = 'my&lt;' title'; $this->guid = 'hey guid here'; $this->body = 'let the bodies hit the floor <a href="test">test</a>'; $this->body2 = 'let the bodies hit the floor <a target="_blank" href="test">test</a>'; @@ -196,7 +196,7 @@ class FeedFetcherTest extends \OCA\AppFramework\Utility\TestUtility { $item->setStatus(0); $item->setUnread(); $item->setUrl($this->permalink); - $item->setTitle(html_entity_decode(html_entity_decode($this->title))); + $item->setTitle('my<\' title'); $item->setGuid($this->guid); $item->setGuidHash(md5($this->guid)); $item->setBody($this->body2); diff --git a/utility/feedfetcher.php b/utility/feedfetcher.php index 2475e7c27..e36fe3beb 100644 --- a/utility/feedfetcher.php +++ b/utility/feedfetcher.php @@ -112,8 +112,15 @@ class FeedFetcher implements IFeedFetcher { private function decodeTwice($string) { - return html_entity_decode( - html_entity_decode($string, ENT_COMPAT, 'UTF-8'), ENT_COMPAT, 'UTF-8' + // behold! ' is not converted by PHP thats why we need to do it + // manually (TM) + return str_replace(''', '\'', + html_entity_decode( + html_entity_decode( + $string, ENT_QUOTES, 'UTF-8' + ), + ENT_QUOTES, 'UTF-8' + ) ); } |