codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
<?php $str = <<<EOF <code class="php"> <div> a div.. </div></code></code> <pre class="php"> <div> a div.. </div> </pre> <div> this should be ignored </div> EOF; function recurse(&$doc, &$parent) { if (!$parent->hasChildNodes()) return; foreach ($parent->childNodes as $elm) { if ($elm->nodeName == "code" || $elm->nodeName == "pre") { $content = ''; while ($elm->hasChildNodes()) { $child = $elm->childNodes->item(0); $content .= htmlspecialchars($doc->saveXML($child)); $elm->removeChild($child); } $elm->appendChild($doc->createTextNode($content)); } else { recurse($doc, $elm); } } } $doc = new DOMDocument(); $doc->loadXML("<document>" . $str . "</document>"); // Iterate the DOM, finding <code /> and <pre /> tags: recurse($doc, $doc->documentElement); foreach ($doc->childNodes->item(0)->childNodes as $node) { echo $doc->saveXML($node); } ?>
Private
[
?
]
Run code
Submit