1
即時通訊試圖開發一個短代碼替代品,但不能真正得到它的竅門。我想要做的是,用戶可以寫[幻燈片] 10 [/幻燈片]之類的東西,然後製作幻燈片,其ID號爲10。這是據我已經來了:用php代碼或函數替換shortcode字符串?
$slideArray = array(preg_match_all('/\[slideshow\](.*?)\[\/slideshow\]/is', $post, $matches));
有了這個,我則:
for ($o = 0; $o <= $count; $o++)
{
$query = mysql_query("SELECT * FROM slideshow WHERE id = ''. $matches[1][$o]. '' LIMIT 1");
while ($row = mysql_fetch_assoc($query))
{
// Slideshow code appears here
}
}
這工作,但現在我有,如果幻燈片出現在後或底部的頂部來決定。但是,如果我想讓這個幻燈片出現在用戶寫的地方。所以它可能會出現在文本中間的示例中。然後是否可以創建此函數,然後使用preg_replace用上面的查詢代碼替換[幻燈片] 10 [/幻燈片]。我很抱歉我的英文不好。
問候
我強烈建議您[谷歌「PHP BBCode分析器」](http://www.google.com/search?q=PHP+BBCode+parser) – DaveRandom 2012-07-31 10:24:26
我有,但所有的結果只是顯示你如何使一個鏈接或一些文本粗體,那不是什麼即時看f要麼。我想用mysql查詢和它的結果替換一個shortcode字符串。 – Paparappa 2012-07-31 10:26:12
您需要爲替換操作提供回調函數。例如,在[NBBC](http://nbbc.sourceforge.net/)中,您設置了''mode'=> BBCODE_MODE_CALLBACK',並在創建規則時向方法鍵提供回調,這將允許您從MySQL中取出替換字符串。 – DaveRandom 2012-07-31 10:31:16