fork download
  1. <?php
  2. function addSalutation($html) {
  3. $doc = new DOMDocument();
  4. $doc->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
  5. $xpath = new DOMXPath($doc);
  6. $tds = $xpath->query('//tbody/tr/td[contains(text(),"{{ username }}")]');
  7. foreach(iterator_to_array($tds) as $td) {
  8. $newTd = $doc->createElement('td', '{{ salutation }}');
  9. $newTr = $doc->createElement('tr');
  10. $newHd = $doc->createElement('thead');
  11.  
  12. $newTr->appendChild($newTd);
  13. $newHd->appendChild($newTr);
  14. $tbody = $td->parentNode->parentNode;
  15. $tbody->parentNode->insertBefore($newHd, $tbody);
  16. }
  17. return $doc->saveHTML();
  18. }
  19.  
  20. // Sample data
  21. $html = '
  22. <tbody>
  23. <tr>
  24. <td>
  25. {{ username }}
  26. </td>
  27. </tr>
  28. </tbody>';
  29.  
  30. // Add salutation
  31. $html = addSalutation($html);
  32.  
  33. // Output result
  34. echo $html;
  35. ?>
  36.  
Success #stdin #stdout 0.02s 52472KB
stdin
Standard input is empty
stdout
<thead><tr><td>{{ salutation }}</td></tr></thead><tbody>
    <tr>
        <td>
            {{ username }}
        </td>
    </tr>
</tbody>