I have many html codes which have <pre> python code </pre>, just like following
html code:
<pre class="c1">
# regex usage
import re
re.findall(r'abc','abcde')
</pre>
python tutorial ...python regex<br>
<pre class="c2">
# regex usage
import re
re.findall(r'abc','abcde')
</pre>
I regard regex as a keyword, and replace it to a link: <a href="link-to-regex">regex</a>,but I don't want to replace contents in label <pre>
output:
<pre class="c1">
# regex usage
import re
re.findall(r'abc','abcde')
</pre>
python tutorial ...python <a href="link-to-regex">regex</a><br>
<pre class="c2">
# regex usage
import re
re.findall(r'abc','abcde')
</pre>
I do it use placeholders
pre_list = re.compile(r'(<pre>.+?</pre>)').findall(html_code)
# use CODE_PLACEHODER to protect code sources
for index,code in enumerate(pre_list):
html_code = html_code.replace(code, 'CODE_PLACEHOLDER_{}'.format(index))
# replace the html content here
html_code = html_code.replace('regex', '<a href="link-to-regex">regex</a>')
for index,code in enumerate(pre_list):
html_code = html_code.replace('CODE_PLACEHOLDER_{}'.format(index), code)
enter code here
Better method to do this?