Ben bir <textarea>
ile bir form var ve ben sunucu tarafında bu textarea herhangi bir satır sonları yakalamak, ve bir <br/>
ile değiştirmek istiyor.
Bu mümkün mü?
Ben textarea
'nin CSS white-space:pre
ayarı denedim, ama hala yeterli değil.
nl2br()
a> fonksiyonu tam olarak bunu yapmak için var:
Ancak, bu işlev br etiketleri ekler ama aslında yeni satırları kaldırmak değil - bu genellikle bir sorun değildir, ancak tamamen şerit istiyorum ve yakalamak taşımacılığının yanı sıra dönerse, kullanmanız gereken bir str_replace
veyapreg_replace
a>
Ben str_replace biraz daha hızlı olacağını düşünüyorum ama ben benchmarked değil;
$val = str_replace( array("\n","\r","\r\n"), '<br />', $val );
veya
$val = preg_replace( "#\n|\r|\r\n#", '<br />', $val );
Eğer str_replace
kullanmak için ya preg_replace
, muhtemelen aksi halde, dizinin başında "\r\n"
koymalısın gidiyveyauz bir {[(3)] } dizisi iki <br/>
etiketleri tercüme edilecektir (beri \r
uyumlu olacak, ve sonra \n
uyumlu olacaktır).
örneğin:
$val = str_replace( array("\r\n", "\n","\r"), '<br />', $val );
veya
$val = preg_replace( "#\r\n|\n|\r#", '<br />', $val );
Güvenmez bir cevap isteyenler için nl2br()
:
$newList = ereg_replace( "\n",'|', $_POST['theTextareaContents']);
ya da (bu durumda):
$newList = ereg_replace( "\n",'<br/>', $_POST['theTextareaContents']);
PHP Side: Textarea dizeden PHP dize
$newList = ereg_replace( "\n",'|', $_POST['theTextareaContents']);
PHP Side: PHP dize geri TextArea dize:
$list = str_replace('|', ' ', $r['db_field_name']);