我有以下代碼:ECHO變量包括換行符
<p><?php echo $item['desc']; ?></p>
代碼拉動從數據庫中執行以下操作:
Point 1
Point 2
Point 3
並將其顯示爲:點1點2點3,
我需要做些什麼來獲得新的行,我試過把/ n或
標籤添加到數據庫引用,但它沒有任何區別。
我有以下代碼:ECHO變量包括換行符
<p><?php echo $item['desc']; ?></p>
代碼拉動從數據庫中執行以下操作:
Point 1
Point 2
Point 3
並將其顯示爲:點1點2點3,
我需要做些什麼來獲得新的行,我試過把/ n或
標籤添加到數據庫引用,但它沒有任何區別。
試試這個
echo str_replace(' ',"\n", $item['desc']);
\ n將無法工作,因爲你打印字符串必須通過在HTML瀏覽器進行處理。 改爲使用<br>
標記。
也許換行符正在打印,但你需要它們是<br>
標籤,所以它們會在網頁上顯示爲換行符?您可以使用該功能nl2br()
爲:
<p><?php echo nl2br($item['desc']); ?></p>
這應該工作
<p><?php echo nl2br($item['desc']); ?></p>
否則: -
echo nl2br(str_replace(' ',"\n", $item['desc']));
換行符是包括在內。它只是不顯示在瀏覽器中,因爲HTML標準是這樣說的。如果您希望它顯示在瀏覽器中,請將換行符更改爲<br>
標籤,例如使用nl2br()
嘗試像
echo str_replace(' ',"<br>", $item['desc']);
我不明白你想要什麼,但可能是這樣的:
$string = "Point 1 Point 2 Point 3";
$string = preg_replace("/(point \d+)/i", "\$1\r\n", $string);
echo $string
輸出:
Point 1
Point 2
Point 3
注意:僅限使用nl2br
(請參閱其他答案)如果新行已經在字符串中,但沒有顯示。
無需正則表達式在這裏,它是相當昂貴的。 'nl2br()'就是這種場景的首選工具。 – vascowhite
如果新行已經在字符串中,那麼是的。但是在閱讀OP的問題時我不確定這一點。 – enenen
不,我也不確定,我想他們是我的第一個選擇。 – vascowhite
如果你像測試測試測試一行代碼,你可以使用preg_replace功能:
echo preg_replace("{[ ]+}","<br/>",$items['desc']);
如果你的字符串這樣的測試1測試2 ...和你的目標是: TEST 1 TEST 2 ...等等.. 您可以使用此模式:
$t = preg_match_all("{[\w]+[ ]?[0-9]+}",$items['desc'],$m);
foreach ($m[0] as $val) { echo $val."<br/>"; }
什麼是$項目??陣..? – Gautam3164
是否要在每個點x(item ['desc'])之後添加換行符? – Bere
它應該是\ n,而不是/ n - 只是一個修正,不是因爲你應該使用在答案中指出的另一種方法真的很重要。 – luk2302