我一直在一个论坛上工作,我已经把所有的东西都按照它的方式工作了,我试着包装看看它是否有效,基本上那部分代码看起来像这样 在 PHP 之前我得到了一些 HTML 样式:
<style>
pre {
white-space: pre-wrap;
white-space: -moz-pre-wrap;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word;
font-size: 20px;
margin: 0% 8% 0px 8%;
}
</style>
然后在一堆MySQL的东西之后
echo '<table style="height: 21px;" width="100%">';
while($forumcomrow=mysqli_fetch_array($forumcomres))
{
echo '<tr><td>some text</td><td><pre>Some Very Long Text From Mysql </pre></td></tr></br>';
}
echo '</table>';
我删除了所有内容,只保留了它的样式和表格的回显,当我只回显 pre 标签时,它会将它包装在屏幕的末尾,但是一旦我把它放在表格中(大小没关系,即使我将表格的宽度设置为 5px)它仍然会离开屏幕 10 英里,直到它开始换行。
是这样的:
在上面的图片中,您可以看到它的一部分,但是文本超出屏幕的长度大约是您在那里可以看到的长度的 5 倍,然后才开始换行
我已经弄清楚是什么给它带来了问题,如果它有空格(“aaaa aaa aaa aa aa”)它会换行但如果它是一个长单词(“aaaaaaaaa”)它不会换行,我不知道如何解决它,我刚刚找出导致问题的原因。
最佳答案
是因为<br>
最后的标签,我前段时间遇到了同样的问题。 <br>
每次都首先应用,然后包装表格。
删除 <br>
最后
echo '<tr><td>some text</td><td><pre>Some Very Long Text From Mysql </pre></td></tr>';
然后它将完美运行。
关于php - PHP 中的 HTML <pre> 自动换行不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43300975/