我使用的textarea宽度约为300px,包含2行和最大长度。
如果文本是两行长,我在$ _POST变量中没有收到任何换行符(<br/>
或\ n)。
textarea $ _POST:
的PHP var_dump输出string(35) "test test test test test test test "
HTML:
<textarea name="text-1" id="text-1" rows="2" maxlength="35">Click here to enter text</textarea>
CSS:
#text-1, #text-2 {
background: none;
border: none;
width: 100%;
max-width: 228px;
height: 100%;
word-wrap: break-word;
text-align: center;
resize: none;
font: bold 21px 'Impact', sans-serif;
color: #fff;
text-shadow: 2px 2px 2px black,
2px -2px 2px black,
-2px 2px 2px black,
-2px -2px 2px black;
}
我希望根据进入第二行的自然断点的位置来实现此输出:
string(35) "test test test test test\n test test "
任何想法,如果可能的话?
答案 0 :(得分:3)
您可以添加属性wrap="hard"
,它会在包装的任何地方发送换行符:
<textarea wrap="hard" name="text-1" id="text-1" rows="2" maxlength="35">Click here to enter text</textarea>
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea
编辑:
必须指定cols属性。
答案 1 :(得分:0)
$out = wordwrap($string, 70);
或者,如果您需要HTML中断
$out = wordwrap($string, 70, "<br />\n");
PS确保您事先对输入进行消毒,这样您就不会受到XSS和其他攻击的攻击。</ p>