我最近尝试将PHP,HTML和CSS集成到一个网站中。现在,我试图回应这个从数据库进入网站的结果,其中文本中的每个新行/换行符都放入了自己的div标签中。
因为我正在尝试制作一个清单,其中可以从数据库中检索如何执行某些操作的说明,而我正在使用PHP来执行此操作。
检索时将检索的数据采用TEXT格式,看起来像这样。
Perform this step
Then do this step
Lastly, do this step
正如你所看到的,每个步骤都占用了它自己的行,我无法弄清楚我是如何做到这一点的,所以对于每一个新行,它应该正确地放入HTML中自己的单独div标签中。将有一些CSS样式来改变它的外观。
有谁知道怎么做?或者他们能指出我正确的方向吗?有没有类似的文章,因为我找不到一篇。
如果有人需要更多信息我可以编辑帖子,但希望这篇文章不会被关闭。
我对任何解决方案都持开放态度,但除非绝对必要,否则我宁愿不使用jquery。
谢谢!
答案 0 :(得分:0)
逐步将问题分解为几个阶段:
1)您需要将文本文件分解为" rows"。因为不同的系统使用不同的分隔符用于"行"文本;你应该使用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
。 div
s或ul
s等中。)\n
代替了PHP_EOL
,但为了清晰起见,建议PHP_EOL