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

时间:2014-07-11 17:32:45

标签: javascript php jquery html css

我使用的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 "

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

2 个答案:

答案 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)

如果您使用the wordwrap function

,则可以对其进行近似
$out = wordwrap($string, 70);

或者,如果您需要HTML中断

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

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