Php 为什么从my textarea提交的文本呈现为一行?
我不确定问题出在哪里,但如果我在按住键盘上的一个键的同时键入文本区域,数据库的输出将呈现为一行,从而破坏页面的格式。基本上我只有一行很长的文本,比如Php 为什么从my textarea提交的文本呈现为一行?,php,html,Php,Html,我不确定问题出在哪里,但如果我在按住键盘上的一个键的同时键入文本区域,数据库的输出将呈现为一行,从而破坏页面的格式。基本上我只有一行很长的文本,比如aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
换句话说,如果我没有手动键入enter
在文本区域中创建换行符,或者如果我没有使用空格键
来写一些看似正常的句子,那么即使文本区域在我键入时将文本向下推行,也不会出现换行符
我用一个普通的PHP脚本尝试了这一点,没有过滤任何内容(我还确保在呈现文本时不过滤任何内容),但这种情况仍然存在。为什么会这样?有没有办法确保我的文本区域在键入文本时自动添加新行
我没有在HTML中使用cols
或rows
,而是通过CSS生成高度和宽度
HTML:
请注意,在复制和粘贴未格式化的文本(即,不是来自类似网站的文本)时,可能会发生这种情况。我的文本区域应该能够容纳多个段落。听起来好像文本只是非常正常地呈现出来
查看以下具有以下CSS的HTML片段:
div {
border: 1px solid red;
width: 400px;
}
这段HTML:
<div>
aaaaaa
</div>
这将导致长单词分开,就像这样(用一些额外的填充文本来显示它如何不必要地打断其他单词):
我希望这会有帮助。你刚刚救了我一个晚上。你知道wordwrap
在大多数现代浏览器中是否兼容吗?@Dalsia这应该能回答你的问题overflow wrap
只是word wrap
的别名。
div {
border: 1px solid red;
width: 400px;
}
<div>
aaaaaa
</div>
<div>
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
</div>
<div>
aaaaaa aaaaaa aaaaaa aaaaaa aaaaaa aaaaaa aaaaaa aaaaaa aaaaaa aaaaaa aaaaaa aaaaaa aaaaaa aaaaaa aaaaaa aaaaaa aaaaaa aaaaaa
</div>
overflow-wrap: break-word;