2011-08-06 9 views
0

私はこれまでに配列を実際に使ったことはありませんでしたが(単純な変数で十分でした)、今は複数のPOSTを行うためのテキスト領域を持つフォームを作成しました私のPHPスクリプトを介してURLを参照してください。配列入力の区切り記号として改行を使用しますか?

私がしたいことは、訪問者の入力で改行を使用して、配列入力の区切り文字として機能することです。

たとえば、訪問者は90行のテキスト(すべてのURL)を入力し、配列はそれぞれのリストを90のリストに分割し、それぞれの配列値を作成します。

すべての情報、アドバイスやコメントは非常に高く評価されます:)!

答えて

1

例えば、ブレークが使用されているどのような行ない、100%のパーセントを確認します:

Windowsが\r\n Linuxは\n (古い)Macはあなたがこれを知っていればあなたは、単に行うことができますしかし\r

を使用を使用しています使用しています

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

EDIT

実際に正規表現を使用してテストした後、最初にstr_replace()を実行して爆発するよりも速くなります。

+0

ありがとう:)まさに私が探していたもので、これまで使用されていたexplode関数を見たことがありますが、実際に何が起こったのか分かりませんでした。 – Fireworksable

+2

str_replaceを使用すると、あなたのexplodeは毎回動作します: '$ urls = str_replace(array(" \ r \ n "、" \ r ")、" \ n "、$ _POST ['urls']);' –

1

ルック改行記号http://www.php.net/manual/en/function.preg-split.phpでとなどの区切り文字を使用

またはPHP REGEX - text to array by preg_split at line break

がちょうど\rまたは\nすべてのオペレーティングシステムが持っているための使用については注意が見る「新しい行が」
がして、回答を見る別の方法を定義しましたTgr SO上PHP REGEX - text to array by preg_split at line break

+0

ここで正規表現は本当に必要ないと思います。正規表現が本当に必要でないときは、それらを使わないでください – PeeHaa

+0

正規表現が必要です。新しい行はちょうど '\ n'以外のものですから、すべてを扱うためにpreg_replaceと' \ R'スイッチを使うほうが良いですか? –

+0

?私はテストをしましょう。 1秒。もしあなたが正しいなら、:) – PeeHaa

-1

利用が爆発質問

$array=explode("\n",$_POST['textarea']); 
+0

ありがとう、ちょうど私が探していたもの。だから、私は$ array [0]、$ array [1]などと呼んだとき、私は行の値を与えるそれを取る? – Fireworksable

+0

$ array [0]は最初の行です$ array [1]は2番目のものです – RiaD

関連する問題