xml011.phpt 1.3 KB

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