PHP语法加亮代码
-
- 我的也加入了php语法加亮了,这是从sablog取得的一段加亮代码,调用了php系统函数highlight_string,然后将内容中的一些东西做了替换,来测试一下
下面是语法加亮函数
// 高亮显示PHP
function phphighlight($code) {
if (floor(phpversion())<4) {
$buffer = $code;
} else {
$code = preg_replace("/<style .*?<\/style>/is", "", $code);
$code = preg_replace("/<script .*?<\/script>/is", "", $code);
$code = preg_replace("/<br\s*\/?>/i", "\n", $code);
$code = preg_replace("/<\/?p>/i", "\n", $code);
$code = preg_replace("/<\/?td>/i", "\n", $code);
$code = preg_replace("/<\/?div>/i", "\n", $code);
$code = preg_replace("/<\/?blockquote>/i", "\n", $code);
$code = preg_replace("/<\/?li>/i", "\n", $code);
$code = strip_tags($code);
$code = preg_replace("/\&\#.*?\;/i", "", $code);
$code = str_replace(" ", " ", $code);
$code = str_replace(" ", " ", $code);
$code = str_replace(" ", "\t", $code);
$code = str_replace(""", '"', $code);
$code = str_replace("<br>", "", $code);
$code = str_replace("<br />", "", $code);
$code = str_replace(">", ">", $code);
$code = str_replace("<", "<", $code);
$code = str_replace("&", "&", $code);
//$code = str_replace('$', '$', $code);
if (!strpos($code,"<?\n") and substr($code,0,4)!="<?\n") {
$code="<?".trim($code)."?>";
$addedtags=1;
}
ob_start();
$oldlevel=error_reporting(0);
highlight_string($code);
error_reporting($oldlevel);
$buffer = ob_get_contents();
ob_end_clean();
if ($addedtags) {
$openingpos = strpos($buffer,"<?");
$closingpos = strrpos($buffer, "?");
$buffer=substr($buffer, 0, $openingpos).substr($buffer, $openingpos+5, $closingpos-($openingpos+5)).substr($buffer, $closingpos+5);
}
$buffer = str_replace(""", "\"", $buffer);
}
return $buffer;
}
前台调用的时候用正则替换
与
之间的内容
$blogdata['Words'] = preg_replace("/\s*\[php\](.+?)\[\/php\]\s*/ies", "phphighlight('')", $blogdata['Words']);
-
- 上一主题: mysql中查找重复的记录 下一主题: 可輸入繁體字的紫光拼音輸入法6.0髮佈了
- 查找相关文章:php highlight_string 语法加亮
- 一
- 二
- 三
- 四
- 五
- 六
- 日
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
-
-
-
-
-
-
-
-
-
-
-
- Copyright ©2005 - 2007 老李的个人日志. All Rights Reserved
- 本日志程式及模版由老李(QQ:8989215)编写维护
- 粤ICP备06043306号