我有一個html表單生成BBCode,它是一些在線留言板中使用的html的修改形式。與BBCode最大的區別在於它在標籤上使用括號而不是傳統的小於/大於符號(例如[br])。str_replace(「 r n」)替換兩次,而str_replace(「 n」)替換一次
我的一個表單元素是一個多文本框,可以發送文本,如下列:
紅
橙色
黑色
末有一個\ r \ n的每行不會傳遞到我的輸出,以便我得到:
RedOrangeBlack
我用下面的代碼替換\ r \ n,其中[BR]
$_description = stripslashes($_POST['description']);
$movie_description = str_replace("\r\n","[br]",$_description);
輸出是現在:
黑色[BR] [BR]橙色[BR] [BR ]紅色
哪一個太多了。
如果我切換str_replace函數功能:
$movie_description = str_replace("\n","[br]",$_description);
我得到黑色[BR]橙色[BR]紅色是更好的,但是現在有一個在生產線的2的正面和3的空間。如果我替換\ r而不是\ n結果類似。
我如何獲得的輸出,看起來像:
黑色[BR]橙色[BR]紅
我仍然懷疑觀察,但我已編輯標題以反映索賠。 – user2864740