2014-07-11 73 views
1

我使用的文本區域寬度約爲300px,2行和maxlength。如何添加換行符到文本多行的文本區域

如果文本是兩行長,我在$ _POST var中沒有收到任何換行符(<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

如果它在2行上,那很可能在那裏沒有換行符。換行符只會顯示是否通過按Enter鍵添加了明確的換行符。通常你看到的換行符只是一個不會發送換行符的換行符,因爲沒有換行符。如果使用固定寬度的字體(aka等寬字體),則可以估計寬度的字符數並添加自己的換行符。除此之外,您會猜測文本的寬度,並在X字符後插入。 –

+0

好的...但我需要一個。任何建議,以實現這一點? – ggzone

+0

您可以在X字符後插入一個換行符,但除非您使用固定寬度的字體,否則您只會猜測文本的寬度。 –

回答

3

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

+0

很好,沒有見過這個。謝謝。 –

0

可以接近它,如果你使用the wordwrap function

$out = wordwrap($string, 70); 

,或者,如果您需要HTML打破

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

PS請確保您的手之前要消毒的輸入,這樣你不容易受到XSS和其他攻擊。

相關問題