fork download
  1. <?php
  2.  
  3. $html = <<<DATA
  4. <form>
  5. <input type="hidden" name="test[]" />
  6. <input type="hidden" name="old[]" />
  7. <input type="hidden" name="new[]" />
  8. </form>
  9. DATA;
  10.  
  11. $dom = new DOMDocument('1.0', 'UTF-8');
  12. $dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
  13.  
  14. $xpath = new DOMXPath($dom);
  15. $inputs = $xpath->query('//input[@name]');
  16.  
  17. foreach($inputs as $input) {
  18. $name = $input->getAttribute('name');
  19. if (substr($name, -2) === "[]") {
  20. $newval = substr($name, 0, $input->getAttribute('name')->length - 2);
  21. $input->setAttribute('name', $newval);
  22. }
  23. }
  24.  
  25. echo $dom->saveHTML();
  26.  
Success #stdin #stdout #stderr 0.02s 52472KB
stdin
Standard input is empty
stdout
<form>
<input type="hidden" name="test">
<input type="hidden" name="old">
<input type="hidden" name="new">
</form>
stderr
PHP Notice:  Trying to get property of non-object in /home/xYNfB0/prog.php on line 20
PHP Notice:  Trying to get property of non-object in /home/xYNfB0/prog.php on line 20
PHP Notice:  Trying to get property of non-object in /home/xYNfB0/prog.php on line 20