2017-12-18 81 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替代的下降,建议在整个