aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2015-03-16 21:37:28 +0100
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2015-03-16 21:37:28 +0100
commitec611d7d543e27fe8c794cd98177d00cf636c58f (patch)
tree116bf4ce1f0e77ead29bae91321b9a7b58736d91 /lib
parentdfe781c30b2e189d4ba679e70a75d03f261c695c (diff)
SimplePie: decode special chars for MAYBE_HTML
https://github.com/FreshRSS/FreshRSS/issues/754 Needs to check with many feeds to see if this does not introduce incompatibilities with some valid feeds.
Diffstat (limited to 'lib')
-rw-r--r--lib/SimplePie/SimplePie/Sanitize.php5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/SimplePie/SimplePie/Sanitize.php b/lib/SimplePie/SimplePie/Sanitize.php
index 168a5e2e8..3da7239be 100644
--- a/lib/SimplePie/SimplePie/Sanitize.php
+++ b/lib/SimplePie/SimplePie/Sanitize.php
@@ -249,6 +249,11 @@ class SimplePie_Sanitize
{
if ($type & SIMPLEPIE_CONSTRUCT_MAYBE_HTML)
{
+ if (preg_match('/&amp;#(x[0-9a-fA-F]+|[0-9]+);/', $data)) //FreshRSS
+ {
+ $data = htmlspecialchars_decode($data, ENT_QUOTES); //FreshRSS
+ //syslog(LOG_DEBUG, 'SimplePie sanitize MAYBE_HTML htmlspecialchars_decode: ' . $data); //FreshRSS
+ }
if (preg_match('/(&(#(x[0-9a-fA-F]+|[0-9]+)|[a-zA-Z0-9]+)|<\/[A-Za-z][^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3E]*' . SIMPLEPIE_PCRE_HTML_ATTRIBUTE . '>)/', $data))
{
$type |= SIMPLEPIE_CONSTRUCT_HTML;