Переглянути джерело

added V::stripInvalidXmlChars

Piotr Labudda 8 роки тому
батько
коміт
a24cff92b9
1 змінених файлів з 18 додано та 0 видалено
  1. 18 0
      SE/se-lib/V.php

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

@@ -634,4 +634,22 @@ EOF';
 		$c = ($c % 11) % 10;
 		$c = ($c % 11) % 10;
 		return ($regon[8] == $c);
 		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;
+		}, "");
+	}
+
 }
 }