xml011.phpt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. --TEST--
  2. XML Parser test: concat character data and set empty handlers
  3. --EXTENSIONS--
  4. xml
  5. --FILE--
  6. <?php
  7. function start_elem($parser,$name,$attribs) {
  8. echo "<$name>";
  9. }
  10. function end_elem()
  11. {
  12. echo "</$name>";
  13. }
  14. $xml = '<text>start<b /> This &amp; that</text>';
  15. $parser = xml_parser_create();
  16. xml_parse_into_struct($parser, $xml, $vals, $index);
  17. print_r($vals);
  18. xml_parser_free($parser);
  19. echo "\nChange to empty end handler\n";
  20. $parser = xml_parser_create();
  21. xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
  22. xml_set_element_handler($parser,'start_elem','end_elem');
  23. xml_set_element_handler($parser,'start_elem',NULL);
  24. xml_parse($parser, $xml, TRUE);
  25. xml_parser_free($parser);
  26. echo "\nDone\n";
  27. ?>
  28. --EXPECT--
  29. Array
  30. (
  31. [0] => Array
  32. (
  33. [tag] => TEXT
  34. [type] => open
  35. [level] => 1
  36. [value] => start
  37. )
  38. [1] => Array
  39. (
  40. [tag] => B
  41. [type] => complete
  42. [level] => 2
  43. )
  44. [2] => Array
  45. (
  46. [tag] => TEXT
  47. [value] => This & that
  48. [type] => cdata
  49. [level] => 1
  50. )
  51. [3] => Array
  52. (
  53. [tag] => TEXT
  54. [type] => close
  55. [level] => 1
  56. )
  57. )
  58. Change to empty end handler
  59. <text><b>
  60. Done