Guest User

Untitled

a guest
Jun 22nd, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. <?php
  2. protected static $xml_error = array();
  3.  
  4. public static function validateXMLError($number, $message, $file, $line) {
  5. $message = strip_tags($message);
  6. $message = trim(array_pop(explode(']:', $message, 2)));
  7.  
  8. self::$xml_error = array(
  9. array(
  10. 'number' => $number,
  11. 'message' => $message,
  12. 'type' => 'xml'
  13. )
  14. );
  15.  
  16. restore_error_handler();
  17. }
  18.  
  19. public static function validateXML($data, &$errors, $is_file = true, $processor = null, $encoding = 'UTF-8') {
  20. if ($is_file) $data = @file_get_contents($data);
  21.  
  22. $data = preg_replace('/<!DOCTYPE[-.:"\'\/\\w\\s]+>/' , '', $data);
  23. $data = preg_replace('/<\?xml.*?\?>/', '', $data);
  24.  
  25. if ($data == '') return true;
  26.  
  27. $document = new DOMDocument('1.0', $encoding);
  28. $fragment = $document->createDocumentFragment();
  29.  
  30. set_error_handler('General::validateXMLError');
  31. $fragment->appendXML($data);
  32.  
  33. if (!empty(self::$xml_error)) {
  34. $errors = self::$xml_error;
  35. return false;
  36. }
  37.  
  38. return true;
  39. }
  40. ?>
Add Comment
Please, Sign In to add comment