fork download
  1. <?php
  2. $originalFilename = './test.html';
  3.  
  4. // raw HTML input
  5. $originalHTMLContent = '<!DOCTYPE html>
  6. <html>
  7. <head>
  8. <title>Asdasd</title>
  9. <meta charset="UTF-8">
  10. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  11. </head>
  12. <body>
  13. <div>
  14. <table id="starwars-table">
  15. <thead>
  16. <tr>
  17. <th>Test table header 1</th>
  18. <th>Test table header 2</th>
  19. <th>Test table header 3</th>
  20. <th>Test table header 4</th>
  21. </tr>
  22. </thead>
  23. <tbody>
  24. <tr>
  25. <td>TR-25-A</td>
  26. <td>TR-25-B</td>
  27. <td>2-2-SA</td>
  28. <td>2-2-QWE</td>
  29. </tr>
  30. </tbody>
  31. </table>
  32. </div>
  33. </body>
  34. </html>';
  35.  
  36. $newFilename = './test_MODIFIED.html';
  37. $dom = new DOMDocument();
  38. // !!!!!!!!!!
  39. //$dom->loadHTMLFile($originalFilename);
  40. $dom->loadHTML($originalHTMLContent);
  41. $xpath = new DOMXPath($dom);
  42. $nodes = $xpath->query("//table[@id='starwars-table']/tbody/tr/td");
  43.  
  44. foreach ($nodes as $tdNode) {
  45. $anchorNode = $dom->createElement('a', $tdNode->nodeValue);
  46. $anchorNode->setAttribute('href', 'http://s...content-available-to-author-only...s.com/' . $tdNode->nodeValue . '-robot/' . strtolower($tdNode->nodeValue) . '.php');
  47. $anchorNode->setAttribute('target', '_blank');
  48. $tdNode->nodeValue = '';
  49. $tdNode->appendChild($anchorNode);
  50. }
  51.  
  52. // Create new file
  53. //$dom->saveHTMLFile($newFilename);
  54. // Print output
  55. echo $dom->saveHTML();
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
<!DOCTYPE html>
<html><head><title>Asdasd</title><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"></head><body>
    <div>
      <table id="starwars-table"><thead><tr><th>Test table header 1</th>
            <th>Test table header 2</th>
            <th>Test table header 3</th>
            <th>Test table header 4</th>
          </tr></thead><tbody><tr><td><a href="http://s...content-available-to-author-only...s.com/TR-25-A-robot/tr-25-a.php" target="_blank">TR-25-A</a></td>
            <td><a href="http://s...content-available-to-author-only...s.com/TR-25-B-robot/tr-25-b.php" target="_blank">TR-25-B</a></td>
            <td><a href="http://s...content-available-to-author-only...s.com/2-2-SA-robot/2-2-sa.php" target="_blank">2-2-SA</a></td>
            <td><a href="http://s...content-available-to-author-only...s.com/2-2-QWE-robot/2-2-qwe.php" target="_blank">2-2-QWE</a></td>
          </tr></tbody></table></div>
  </body></html>