Example of markup:
<p> a paragraph </p>
<pre lang="html">
<p> a paragraph </p>
</pre>
<code lang="html">
<p> a paragraph </p>
</code>
How can I select all the stuff between <pre>,</pre>,<code>,</code> and run a function on it? Trough this function I need to pass 3 arguments: the part of the string that's selected (<p> a paragraph </p>), the container type (pre or code), and the parameters of the container (like lang="html").
The function should change the selected part of the string based on the other 2 parameters (if it's relevant I want run the GeShi highlighter on it), then replace the contents of the original string with it, including the container. Something like:
<p> a paragraph </p>
<div class="html pre">
<p> a paragraph </p>
</div>
<div class="html code">
<p> a paragraph </p>
</div>