aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/Models/Entry.php2
-rw-r--r--lib/lib_rss.php1
2 files changed, 3 insertions, 0 deletions
diff --git a/app/Models/Entry.php b/app/Models/Entry.php
index 146acaf35..c3cb337fe 100644
--- a/app/Models/Entry.php
+++ b/app/Models/Entry.php
@@ -271,7 +271,9 @@ class FreshRSS_Entry extends Minz_Model {
$this->hash = '';
if (!is_array($value)) {
if (strpos($value, ';') !== false) {
+ $value = htmlspecialchars_decode($value, ENT_QUOTES);
$value = preg_split('/\s*[;]\s*/', $value, -1, PREG_SPLIT_NO_EMPTY);
+ $value = Minz_Helper::htmlspecialchars_utf8($value);
} else {
$value = preg_split('/\s*[,]\s*/', $value, -1, PREG_SPLIT_NO_EMPTY);
}
diff --git a/lib/lib_rss.php b/lib/lib_rss.php
index 6929b316c..ba7b5b5d8 100644
--- a/lib/lib_rss.php
+++ b/lib/lib_rss.php
@@ -196,6 +196,7 @@ function timestamptodate ($t, $hour = true) {
}
/**
+ * Decode HTML entities but preserve XML entities.
* @param string|null $text
*/
function html_only_entity_decode($text): string {