如何使PHP加载的MySQL文本列内容与数据库原格式一致?
解决MySQL歌词到PHP显示格式不一致的问题
嘿,我来帮你搞定这个显示格式的问题~
问题的根源其实是HTML的渲染规则:浏览器会把连续的文本(不管它们在源码里是分开的行还是连在一起)自动合并成单个空格显示,所以你直接输出每条row['text']的时候,它们就会连在一起了。
给你两个简单的解决办法:
方法1:每条歌词后添加HTML换行标签
直接在输出每条歌词的代码后面加上<br>标签,这样浏览器就会识别为换行,和你数据库里的每行对应起来:
<span lang="fa"><?=$row['text'];?></span><br>
如果希望每行歌词之间有更大的间距,也可以用<p>标签包裹每条内容:
<p lang="fa"><?=$row['text'];?></p>
方法2:用CSS控制换行(适合批量处理)
如果是循环输出所有歌词记录,也可以给包含歌词的容器添加CSS样式,强制保留换行(不过这个更适合内容里有换行符的情况,你的场景里方法1更直接):
.lyrics-container { white-space: pre-line; }
然后把所有歌词放在这个容器里:
<div class="lyrics-container"> <?php foreach ($rows as $row): ?> <span lang="fa"><?=$row['text'];?></span> <?php endforeach; ?> </div>
总结一下,最贴合你当前场景的就是方法1,直接在每条歌词输出后加<br>,就能让显示效果和数据库里的每行记录一一对应啦~
内容的提问来源于stack exchange,提问作者Sadraddin Roohani
相关产品推荐
相关产品推荐

