GESHI 是一個功能強大的語言顯色插件,可以讓你的文章 PHP代碼部分顯示語言顏色
先介紹一個最簡單的使用方法:先調用主文件 geshi.php
$geshi = new GeSHi($con, 'php');//文章內容,PHP代碼
//行標
$geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 5);
//灰背景
$geshi->set_overall_style('color: #000066;
border: 1px solid #d0d0d0; background-color: #f0f0f0;', true);
//標題
$geshi->set_header_content('lzy © 2008, View php source');
$geshi->set_header_content_style('font-family: Verdana, Arial, sans-serif;
color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff;
border-bottom: 1px solid #d0d0d0; padding: 2px;');
$geshi->set_footer_content('Parsed in seconds');
$geshi->set_footer_content_style('font-family: Verdana, Arial, sans-serif;
color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff;
border-top: 1px solid #d0d0d0; padding: 2px;');
$con = $geshi->parse_code();
這樣就可以看到你的代碼有語法顏色了。而且函數也增加了鏈接 可以直接訪問該函數的用法
但是現在的很多cms 管理後台都采用了各種編輯器而不是直接一個文本域,為了能在這樣的在線編輯器上很好的使用這個功能
我們可以這樣處理: 添加文章的時候可以不做處理 正常添加,在需要使用該插件的時候 加上[ code ] [ /code ]來做個標記
關鍵的處理就是在文章顯示的頁面了:
1、先獲取文章中有[ code ]的代碼
preg_replace_callback("/[ code ](.+?)[ /code ]/s", 'geshi_content' ,$content);
2、執行顯色
function geshi_content($con){
$con = str_replace("& nbsp;", " ",$con);
$con = str_replace("& amp;", " & ",$con);
$con = str_replace("& gt;", " > ",$con);
$con = str_replace("& lt;", " < ",$con);
$con = str_replace("& quot;", " ' ",$con);
$con = strip_tags($con);
$geshi = new GeSHi($con, 'php');//文章內容,PHP代碼
//行標
$geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 5);
//灰背景
$geshi->set_overall_style('color: #000066;
border: 1px solid #d0d0d0; background-color: #f0f0f0;', true);
//標題
$geshi->set_header_content('lzy © 2008, View php source');
$geshi->set_header_content_style('font-family: Verdana, Arial, sans-serif;
color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff;
border-bottom: 1px solid #d0d0d0; padding: 2px;');
$geshi->set_footer_content('Parsed in seconds');
$geshi->set_footer_content_style('font-family: Verdana, Arial, sans-serif;
color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff;
border-top: 1px solid #d0d0d0; padding: 2px;');
$con = $geshi->parse_code();
return $con;
}
這樣 我們就不需要在添加環節做任何處理,只需要在文章顯示頁面加上以上處理就可以讓我們文章中的PHP代碼顯示顏色了