Bir diziye metin alanının içeriğini dönüştürme

2 Cevap php

I have a form with a text area in html. I want to get the content of this text area in php so that each line can be stored in an array. I tried using implode with'/n'. but its not working. how can i do that.

İşte benim kod

$notes = explode('/n',$_POST['notes']);

2 Cevap

Bunu kullanmak gerekir:

$notes = explode("\n", $_POST['notes']);

(Geri eğik çizgi değil, çizgi, ve yerine tek tırnak çift tırnak)

Palantir çözümü hatları \ n (bitiş Linux varsayılan hat) ile biter sadece çalışacaktır.

Örn.

$text     = "A\r\nB\r\nC\nD\rE\r\nF";    
$splitted = explode( "\n", $text );

var_dump( $splitted );

çıktısı:

array(5) {
  [0]=>
  string(2) "A "
  [1]=>
  string(2) "B "
  [2]=>
  string(1) "C"
  [3]=>
  string(4) "D E "
  [4]=>
  string(1) "F"
}

Eğer değilse, bu kullanmalısınız:

$text     = "A\r\nB\r\nC\nD\rE\r\nF";
$splitted = preg_split( '/\r\n|\r|\n/', $text );
var_dump( $splitted );

Ya da bu:

$text     = "A\r\nB\r\nC\nD\rE\r\nF";
$text     = str_replace( "\r", "\n", str_replace( "\r\n", "\n", $text ) );
$splitted = explode( "\n", $text );
var_dump( $splitted );

Ben normal ifadeler kullanmak değil çünkü sonuncusu daha hızlı olacağını düşünüyorum.

Örn.

$notes = str_replace(
    "\r",
    "\n",
    str_replace( "\r\n", "\n", $_POST[ 'notes' ] )
);

$notes = explode( "\n", $notes );