2012-08-07 63 views
1

我正在開發Codeigniter中的自定義CMS,我試圖讓用戶使用自定義標籤,而不必將HTML放入帖子中。如何在Codeigniter中創建自定義標記語言/解析器?

例如,如果一個人被張貼有關遊戲,並希望包括一個程式化按鈕,呼籲採取行動,他們只需要輸入[button=http://example.com]Play this game[/button]而不是HTML <div class="action-button"><a href="http://example.com">Play this game</a></div>

。顯然,這是一個簡單的例子。我想要做的一些更復雜的事情將會像[gallery=120]這將包括一個ID爲120的圖片庫。

我一直在尋找,我沒有太多的運氣。我覺得我想要做的還有另外一個詞,但它只是沒有到我這裏來,也許這會產生更好的搜索結果。

任何提示讓我去,不勝感激。

+1

如果您只是在尋找解決方案,並且不在意花時間學習如何實現這一點,請安裝markdown解析器。 – meagar 2012-08-08 00:01:13

回答

0

您正在尋找的術語是BBCode(公告板代碼)。

至於解析,你可以看一些論壇應用程序,也許CI的模板解析器的靈感。就像Jarrett已經提到的,他們主要利用str_replace()preg_replace()函數。 雖然像[gallery=120]會更先進。

0

簡短的回答是STRING和REGEX替換語句。

如果您熟悉與CodeIgniter關聯的CMS(即ExpressionEngine),它會使用str_replace()和preg_replace()來分析模板。