2017-12-18 153 views
-4

我最近試圖將PHP,HTML和CSS集成到網站中。現在,我試圖將我從數據庫中獲得的結果回顯到網站中,在該網站中,文本中的每個換行符/換行符都將放入其自己的div標籤中。爲每個新的文本行分開,將該行放入div標記

因爲我試圖做一個清單,其中如何做的東西可以從數據庫中檢索的指示,我用PHP來做到這一點。

檢索到的數據將採用TEXT格式,並且看起來像這樣。

Perform this step 
Then do this step 
Lastly, do this step 

因此,大家可以看到,每一個步驟佔用自己的路線,我想不出我究竟怎麼可以讓這個爲每一個新行,就應該理所當然地投入自己單獨的div HTML中的標籤將具有一些CSS樣式來改變其外觀。

有誰知道如何?或者他們能否指引我朝着正確的方向發展?有沒有類似這樣的文章,因爲我沒有找到一個。

如果有人需要更多信息,我可以編輯帖子,但希望這篇文章不會被關閉。

我打開任何類型的解決方案,但我寧願不使用jquery,除非它是絕對必要的。

謝謝!

+2

顯示你到目前爲止的代碼。 – ino

+1

我們不會爲你做這件事,展示你的嘗試,我們將幫助你。你可以用http://php.net/manual/fr/function.explode.php和循環 – Unex

+0

做一些工作。你可以使用[explode](http://php.net/manual/en/) function.explode.php)函數來獲取行的數組。 –

回答

0

一步一步打破的問題分解成階段:

1)你需要的是打破文本文件成「行」。因爲不同的系統對文本的「行」使用不同的分隔符;你應該使用PHP_EOL特殊常數。

2)一旦分割爲行,然後需要在所需的HTML格式

3)包裹這些行,然後將它們重新組合成所述輸出。

這樣:

$parts = explode(PHP_EOL,$data); 
foreach($data as $row){ 
    $row = "<div class='instructionStyling'>".$row."</div>\n"; 
} 
unset($row); 
$output = "<div class='instructionStyling'>".implode(PHP_EOL,$parts)."</div>"; 

執行此步驟
然後做到這一步
最後,做到這一步

變爲:

<div class='instructionStyling'>Perform this step</div> 
<div class='instructionStyling'>Then do this step</div> 
<div class='instructionStyling'>Lastly, do this step</div> 

較短的版本:

$output = preg_replace("/\n+/i","</li><li>",$data); 
$output = "<ul><li>".substr_replace($data,"</ul>",-4,4); 
<ul><li>Perform this step</li> 
<li>Then do this step</li> 
<li>Lastly, do this step</li></ul> 

  • 使用樣式表和li/ul是優惠的。
  • 處理字符串的內容意味着你還需要包裝在HTML完成的字符串(div S或ul S等)
  • \nPHP_EOL爲清晰起見,但PHP_EOL替代的下降,建議在整個