PHP语法加亮代码
// 高亮显示PHP function phphighlite($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; } //***************************************************** $article['content']是你从数据库里读出的文章内容 if (preg_match("/\[php\].+?\[\/php\]/is", $article['content'])) { $article['content'] = preg_replace("/\s*\[php\](.+?)\[\/php\]\s*/ies", "phphighlite('\\1')", $article['content']); }
收藏此文章 打印 更新 编辑此文章 『关闭窗口』