一种网页中显示代码所涉及的字符转义问题的解决方案
我最近在自己搭建一个博客系统,自己写前台和后台,因此一些问题需要自己来解决,就比如在页面上显示代码的问题。这个问题有以下注意点:
1、 文章段落中的HTML标签不应当被网页解析为HTML代码,比如<
应当被网页识别成<h;
,即页面上显示的仍然是<
,但是<b>abc</b>
标签仍需要显示成<b>abc</b>
,而不应该显示加粗的abc;
2、 文章中所输入的<h;
不应当被网页识别成<
,即我在原文中所编写的<h;
仍将显示为<h;
;
3、 后台对于编写的博客内容需要进行一定的组织,即我后台可能需要对前台所写的文章内容进行加工,比如在文章外边添加一些<div>
,<b>
等标签,而这些标签是不能直愣愣显示在网页上的,是需要让浏览器去解析的。
基于上述需求,提出如下解决方案:
首先对于第3点,即要求博客内容的转义不能在后台把文章内容处理完后再进行,因为如此的话会把后台插入的<div>
之流转义了。
对于第1点,可以将需转义的字符替换即可,其字符转义的对应网址可查阅:http://tool.oschina.net/commons?type=2
对于第2点,要求我们在转义的时候,必须最先转义&
字符,这样才能让<h;
正常显示,也能让第1点中的<
在转义后能正常显示。
另外,基于上述操作较为复杂,因此后台对文章的处理应该在博客插入时进行,而非每次访问时才进行,如此可以有效提高运行效率。