summaryrefslogtreecommitdiff
path: root/vendor/miniflux/picofeed/lib/PicoFeed/Encoding
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2017-10-25 16:22:10 -0700
committerFrederic Guillot <fred@kanboard.net>2017-10-25 16:22:10 -0700
commit9e2b2a32fd0e967ad3184e9a5d091a29953acb91 (patch)
tree00822e24aa1110c73ca455a8d096ef296c008cbc /vendor/miniflux/picofeed/lib/PicoFeed/Encoding
parentc507c5416251c505cb3e088a03c6664bed73c812 (diff)
Include composer dependencies in repo
Diffstat (limited to 'vendor/miniflux/picofeed/lib/PicoFeed/Encoding')
-rw-r--r--vendor/miniflux/picofeed/lib/PicoFeed/Encoding/Encoding.php33
1 files changed, 33 insertions, 0 deletions
diff --git a/vendor/miniflux/picofeed/lib/PicoFeed/Encoding/Encoding.php b/vendor/miniflux/picofeed/lib/PicoFeed/Encoding/Encoding.php
new file mode 100644
index 00000000..fa0917e8
--- /dev/null
+++ b/vendor/miniflux/picofeed/lib/PicoFeed/Encoding/Encoding.php
@@ -0,0 +1,33 @@
+<?php
+
+namespace PicoFeed\Encoding;
+
+/**
+ * Encoding class.
+ */
+class Encoding
+{
+ public static function convert($input, $encoding)
+ {
+ if ($encoding === 'utf-8' || $encoding === '') {
+ return $input;
+ }
+
+ // suppress all notices since it isn't possible to silence only the
+ // notice "Wrong charset, conversion from $in_encoding to $out_encoding is not allowed"
+ set_error_handler(function () {}, E_NOTICE);
+
+ // convert input to utf-8 and strip invalid characters
+ $value = iconv($encoding, 'UTF-8//IGNORE', $input);
+
+ // stop silencing of notices
+ restore_error_handler();
+
+ // return input if something went wrong, maybe it's usable anyway
+ if ($value === false) {
+ return $input;
+ }
+
+ return $value;
+ }
+}