使用[ code][ /code]顯示GeSHi高亮度語法

(0 votes)

在這裡先解說一下
一般Joomla內建GeSHi的使用方式
必須先關閉所見即所得,或使用FCK的原始碼模式
因為TinyMCE會把所有""或<>轉換成替代字元導致無法解析

使用方法:
1.0.x 將語法包在

<pre> </pre>中

1.5.x 將與法包在
<pre xml:> </pre>中

(似乎預設就是php了)


指定語言與顯示行號:
1.0.x -
<pre lang="php" lines="true"> </pre>

1.5.x -
<pre xml:lang="php" lines="true"> </pre>




OK 進入正題
如何將
改成以[ code ]來顯示呢    

請打開:
1.0.x - mambots/content/geshi.php
1.5.x - plugins/content/geshi.php

找到line27 or 28:
if ( JString::strpos( $row->text, 'pre>' ) === false ) {

更改為
if ( JString::strpos( $row->text, 'code]' ) === false ) {



再找line33:(1.0.x)
$regex = "#<pre\s*(.*?)>(.*?)</pre>#s";

更改為
$regex = "#\[code\s*(.*?)](.*?)\[ /code]#s";     
//要注意多了兩條反斜線



或是line35:(1.5.x)
$regex = "#<pre xml:\s*(.*?)>(.*?)</pre>#s";

更改為
$regex = "#\[code xml:\s*(.*?)](.*?)\[ /code]#s";     
//要注意多了兩條反斜線與'xml:'



OK存檔後輸入
[ code ]語法[ /code ] //1.0

[ code xml: ]語法[ /code ] //1.5
試試吧


這樣改的好處是,可以在所見即所得中直接輸入,即使TinyMCE也能顯示正常
因為[ ]不會被修改

但還是有缺點的,lang="php" lines="true"等等參數還是得要用FCK打開原始碼模式才行
因為 "" 會被改掉導致無法解析

解決方法是將想要的參數直接在程式中設定
GeSHi是可以讓您在本身程式碼中輸入參數的,包括行號背景顏色等等
以後再來發一篇較學吧

目前在一般使用上是沒問題,可以不關閉TinyMCE直接顯示出高亮度(但行號不行)
而覺得1.5輸入xml:太麻煩的話,可以自己把程式碼中的xml:拿掉


Related Posts with Thumbnails

文章回應

顯示/隱藏 回應
 

Funni-大學好好玩

Funni - 大學好好玩

飛鳥工作室

飛鳥工作室-AsikaStudio

接案項目:

企業架站、BLOG代裝、學校機關、活動資訊網站、產品展示網站、社群論壇等等...

 

JoomlaWatch

JoomlaWatch Stats 1.2.8b by Matej Koval

國家

54.1%TAIWAN TAIWAN
17.3%UNITED STATES UNITED STATES
9.9%AUSTRALIA AUSTRALIA
7.1%JAPAN JAPAN
5.6%CHINA CHINA

訪客

Today:  80
Yesterday:  132
This week:  612
Last week:  827
This month:  2324
Last month:  3003
Total:  34773


標籤雲