Procházet zdrojové kódy

added V::stripInvalidXmlChars

Piotr Labudda před 8 roky
rodič
revize
a24cff92b9
1 změnil soubory, kde provedl 18 přidání a 0 odebrání
  1. 18 0
      SE/se-lib/V.php

+ 18 - 0
SE/se-lib/V.php

@@ -634,4 +634,22 @@ EOF';
 		$c = ($c % 11) % 10;
 		return ($regon[8] == $c);
 	}
+
+	static function stripInvalidXmlChars($value = "") {
+		return array_reduce(str_split((string)$value), function ($ret, $char) {
+			$charCode = ord($char);
+			if (
+				(0x9 === $charCode)
+				|| (0xA === $charCode)
+				|| (0xD === $charCode)
+				|| (($charCode >= 0x20) && ($charCode <= 0xD7FF))
+				|| (($charCode >= 0xE000) && ($charCode <= 0xFFFD))
+				|| (($charCode >= 0x10000) && ($charCode <= 0x10FFFF))
+			) {
+				return $ret . $char;
+			}
+			return $ret;
+		}, "");
+	}
+
 }