繁体   English   中英

如何使用更多行的文本向textarea添加换行符

[英]How to add line-breaks to a textarea with text over more lines

我使用textarea宽度约300px,2行和maxlength。

如果文本是两行长,我在$ _POST var中没有收到任何换行符( <br/>或\\ n)。

PHP var_dump textarea输出$ _POST:

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 "

任何想法,如果可能的话?

您可以添加attribue 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属性。

如果使用wordwrap函数,可以近似它

$out = wordwrap($string, 70);

或者,如果您需要HTML中断

$out = wordwrap($string, 70, "<br />\n");

PS确保您事先对输入进行消毒,这样您就不会受到XSS和其他攻击的攻击。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM