2014-04-23 55 views
1

我正在開發自己的CMS(針對我的客戶),並且我想使用WysiBB(http://www.wysibb.com/)作爲文本區域。但問題是WysiBB用[]代替<>(例如[h1] Text [/ h1])保存html標籤,然後網站不能識別[]標籤。我該怎麼辦?WysiBB文本編輯器使用[標籤]而不是<tag>

+0

你的後端應當對其進行解析時和輸出HTML。 – isherwood

+0

我需要使用任何腳本來完成它嗎? –

+1

BBcode通常用於討論論壇,而論壇軟件則用於討論論壇。聽起來你應該使用HTML所見即所得的編輯器。 – isherwood

回答

1

我需要感謝@isherwood爲他提供的幫助!沒有意識到WysiBB是BBcode編輯器,因爲我從來沒有聽說過BBcode。我做了什麼?我已經實現了將BBCode轉換爲HTML的功能。

//======================== START OF FUNCTION ==========================// 
// FUNCTION: bbcode_to_html           // 
//=====================================================================// 
function bbcode_to_html($bbtext){ 
    $bbtags = array(
    '[heading1]' => '<h1>','[/heading1]' => '</h1>', 
    '[heading2]' => '<h2>','[/heading2]' => '</h2>', 
    '[heading3]' => '<h3>','[/heading3]' => '</h3>', 
    '[h1]' => '<h1>','[/h1]' => '</h1>', 
    '[h2]' => '<h2>','[/h2]' => '</h2>', 
    '[h3]' => '<h3>','[/h3]' => '</h3>', 

    '[paragraph]' => '<p>','[/paragraph]' => '</p>', 
    '[para]' => '<p>','[/para]' => '</p>', 
    '[p]' => '<p>','[/p]' => '</p>', 
    '[left]' => '<p style="text-align:left;">','[/left]' => '</p>', 
    '[right]' => '<p style="text-align:right;">','[/right]' => '</p>', 
    '[center]' => '<p style="text-align:center;">','[/center]' => '</p>', 
    '[justify]' => '<p style="text-align:justify;">','[/justify]' => '</p>', 

    '[bold]' => '<span style="font-weight:bold;">','[/bold]' => '</span>', 
    '[italic]' => '<span style="font-weight:bold;">','[/italic]' => '</span>', 
    '[underline]' => '<span style="text-decoration:underline;">','[/underline]' => '</span>', 
    '[b]' => '<span style="font-weight:bold;">','[/b]' => '</span>', 
    '[i]' => '<span style="font-weight:bold;">','[/i]' => '</span>', 
    '[u]' => '<span style="text-decoration:underline;">','[/u]' => '</span>', 
    '[break]' => '<br>', 
    '[br]' => '<br>', 
    '[newline]' => '<br>', 
    '[nl]' => '<br>', 

    '[unordered_list]' => '<ul>','[/unordered_list]' => '</ul>', 
    '[list]' => '<ul>','[/list]' => '</ul>', 
    '[ul]' => '<ul>','[/ul]' => '</ul>', 

    '[ordered_list]' => '<ol>','[/ordered_list]' => '</ol>', 
    '[ol]' => '<ol>','[/ol]' => '</ol>', 
    '[list_item]' => '<li>','[/list_item]' => '</li>', 
    '[li]' => '<li>','[/li]' => '</li>', 

    '[*]' => '<li>','[/*]' => '</li>', 
    '[code]' => '<code>','[/code]' => '</code>', 
    '[preformatted]' => '<pre>','[/preformatted]' => '</pre>', 
    '[pre]' => '<pre>','[/pre]' => '</pre>',   
); 

    $bbtext = str_ireplace(array_keys($bbtags), array_values($bbtags), $bbtext); 

    $bbextended = array(
    "/\[url](.*?)\[\/url]/i" => "<a href=\"http://$1\" title=\"$1\">$1</a>", 
    "/\[url=(.*?)\](.*?)\[\/url\]/i" => "<a href=\"$1\" title=\"$1\">$2</a>", 
    "/\[email=(.*?)\](.*?)\[\/email\]/i" => "<a href=\"mailto:$1\">$2</a>", 
    "/\[mail=(.*?)\](.*?)\[\/mail\]/i" => "<a href=\"mailto:$1\">$2</a>", 
    "/\[img\]([^[]*)\[\/img\]/i" => "<img src=\"$1\" alt=\" \" />", 
    "/\[image\]([^[]*)\[\/image\]/i" => "<img src=\"$1\" alt=\" \" />", 
    "/\[image_left\]([^[]*)\[\/image_left\]/i" => "<img src=\"$1\" alt=\" \" class=\"img_left\" />", 
    "/\[image_right\]([^[]*)\[\/image_right\]/i" => "<img src=\"$1\" alt=\" \" class=\"img_right\" />", 
); 

    foreach($bbextended as $match=>$replacement){ 
    $bbtext = preg_replace($match, $replacement, $bbtext); 
    } 
    return $bbtext; 
} 
//=====================================================================// 
// FUNCTION: bbcode_to_html           // 
//========================= END OF FUNCTION ===========================// 

,並用它作爲上述爲例:

$bbtext = '[b]Text[/b]'; 

$html = bbcode_to_html($bbtext); 

echo $html; 
+1

你是否也將照片傳真給自己,以便郵寄給他們?爲什麼不使用正確的工具來完成這項工作? http://www.tinymce.com〜http://mindmup.github.io/bootstrap-wysiwyg〜http://www.aloha-editor.org/ – isherwood

+0

這可能會更好。我想我會試試bootstrap wysiwyg。再次感謝你 –

1

API有兩個方法與HTML代碼工作。

獲取HTML內容

$("#editor").htmlcode(); 

設置HTML內容

$("#editor").htmlcode(htmlcode); 

http://www.wysibb.com/docs/p9.html

我希望這可以幫助你和其他人尋找答案

相關問題