2011-02-02 19 views
0

私は、ユーザーが変数を入力できるようにしたいというテキストエリアを持っています(行ごとに1つの変数)。jqueryポストから配列にテキストを分割する方法

$('#submit').click(function() { 
    variables = $('#variables').val(); 
    $.post('script.php', { "variables": variables }, function(data) { 

    }, 'json'); 
}); 

私は簡単にスクリプトで[OK]をクリックし、文字列を受け取る:

$variables = $_POST['variables']; 

が、どのように彼らは私が、彼らはそうのようなPHPスクリプトにjQueryのポストで入力したものを送って提出]をクリックするとこの変数の文字列を配列に分割しますか?私は試しました:

$variableList = explode("\r\n", $variables); 
preg_replace("\r\n", '<br />', $variables); 
str_replace("\r\n", '<br />', $variables); 

誰でも助けてください?

+0

あなたはどのように取得する文字列が見えますか? –

+0

リスト内の1行に1つの変数のように見える – geoffs3310

+0

'$ variableList = explode(" \ n "、$ variables);'を試したことがありますか? –

答えて

2

あなたのSOが指定されていませんでしたが、私はあなたが正しいこと分割していないため、問題があると信じて:これが呼び出され、Macの

をキャリッジリターン、またはCR、文字。 Windowsのエディターでは、Enterキーで改行送り(CR-LF)、文字を挿入し、Linuxマシンでは改行(LF)文字を挿入します。

ソース:http://www.paulmc.org/whatithink/2007/03/25/cr-vs-lf-vs-crlf/

の代わりに:

$variableList = explode("\r\n", $variables); 

試してみてください。

$variableList = explode("\n", $variables); 
0

私はあなたがWindowsユーザーから取得改行が\r\nかになるかどうかわからないんだとすべてが\nに正規化されたら、正規表現を試してみることをお勧めします:

$list = array_map('trim', preg_split("/$/m", $variables)); 

や私のコメントで示唆されているように、それは、正規化された取得する場合:

$list = explode("\n", $variables); 
関連する問題