我不确定这是HTML相关问题还是PHP,但是:
我正在从数据库中将长字符串加载到标记中。我想让它在加载字符串时使其分成几行(相反,如果是跨越屏幕大小的巨行)。我怎样才能做到这一点?
答案 0 :(得分:0)
结合PHP的wordwrap()
和nl2br()
函数来限制行大小,然后将wordwrap()
生成的换行符转换为HTML <br />
。
echo nl2br(wordwrap($alongstring, 72));
不确定这会如何影响问题标题中提到的<td>
标记。你是怎么用的?
答案 1 :(得分:0)
使用<p></p>
标记来包含您尝试加载的文本,并使用CSS来约束它的大小。
另外,除非您正在加载应以表格格式显示的数据,否则我会对表的使用提出质疑。
除非你绝对必须,否则我也会避免在PHP方面做出任何格式化决定。使用PHP自动将<br>
标记添加到所有内容,或使用<br>
标记来强制执行页面宽度是一种非常糟糕的方法。如果他们调整浏览器窗口大小或更改文本高度(可访问性),则强制格式化将会妨碍。
根据浏览器的不同,TD标签内容会变得奇怪。如果你可以避免使用表格,我会从那里开始。如果没有,则将文本包含在另一个块元素中,例如<p>
,可能会阻止它将<td>
拉伸到一行,特别是如果在{{1}上使用width: 100%
这样的CSS样式}}。一般情况下,如果可以帮助,PHP应该执行 no 格式化,HTML + CSS应该完成其余的工作。在尝试布局页面时,表格是一个糟糕的选择,应该用<p>
标签和适当的CSS替换,唯一的例外是以表格格式显示的数据,例如数据表。
答案 2 :(得分:0)
如果为容器设置宽度,除非在CSS中添加white-space:nowrap;
,否则它会在文本到达容器末尾时自动换行。