对于每个单独的新文本行,将该行放入div标签[关闭]

问题描述 投票:-4回答:1

我最近尝试将PHP,HTML和CSS集成到一个网站中。现在,我试图回应这个从数据库进入网站的结果,其中文本中的每个新行/换行符都放入了自己的div标签中。

因为我正在尝试制作一个清单,其中可以从数据库中检索如何执行某些操作的说明,而我正在使用PHP来执行此操作。

检索时将检索的数据采用TEXT格式,看起来像这样。

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

正如你所看到的,每一步都占据了它自己的路线,我无法弄清楚我是如何做到这一点的,所以对于每一个新的行,它应该被合理地放入HTML中自己独立的div标签中,这将有一些CSS样式改变它的外观。

有谁知道怎么样?或者他们能指出我正确的方向吗?有没有类似的文章,因为我找不到一篇。

如果有人需要更多信息,我可以编辑帖子,但希望这篇文章不会被关闭。

我打开任何类型的解决方案,但我宁愿不使用jquery,除非它是绝对必要的。

谢谢!

php html css
1个回答
0
投票

逐步将问题分解为几个阶段:

1)您需要将文本文件分解为“行”。因为不同的系统对文本的“行”使用不同的分隔符;你应该使用PHP_EOL特殊常数。

2)一旦拆分成行,您需要以所需的HTML格式包装这些行

3)然后将它们重新组合成输出。

so:

$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>

Shorter Version:

$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包装完成的字符串(divs或uls等)
  • 为清晰起见,\nPHP_EOL的替代品,但建议在整个过程中使用PHP_EOL
© www.soinside.com 2019 - 2024. All rights reserved.