主题: 代码加亮的怎么做?
作者: zhangyang, 发布日期: 2010-09-25 15:28:09, 浏览数: 4657
for(int i=0;i<10;i++){
}

作者: guxin, 发布日期: 2010-10-16 23:21:07

同问 不用告诉太多细节,请指点下思路就可以了,当然有相关代码共享最好了 呵呵。

 

编辑器生成的代码直接存入数据中,显示出来的时候是怎么样的替换步骤?

查找 [code] [/code] 段,取出其中的部分,将<br />替换掉,将code替换为<pre> ?

回复
作者: guxin, 发布日期: 2010-10-17 21:48:58

编辑器生成的代码使用下面的PHP代码处理下就能显示了:

function trim_highlight($str)
{
	$exist=preg_match_all("/\[code([\s\S]*?)\]([\s\S]*?)\[\/code\]/",$str,$get);
	if($exist)
	{
		foreach($get[0] as $key=>$value)
		{
			$replace=preg_replace("/\[code([\s\S]*?)\]/",'<pre class="prettyprint">',$value);
			$replace=preg_replace("/\[\/code\]/",'</pre>',$replace);
			$replace=str_ireplace('<br />',chr(13),$replace);
			//$replace=str_ireplace('>','&gt;',$replace);
			//$replace=str_ireplace('<','&lt;',$replace);
			$str=str_replace($value,$replace,$str);
		}

	}
	return $str;
}

回复
作者: guxin, 发布日期: 2010-10-17 21:51:42
#include <avr.h>
void main(void)
{
   ddd();
}

 

这种代码好像处理不好!

回复
发表新帖 发表回复