0

以下のphpコードを使用してnamelist、andplacelistと呼ばれる2つのテキストエリアを処理し、それをhtmlにエコーします。

<?php

$namelist = $_POST['namelist'];
$placelist = $_POST['placelist'];

$names = explode("\n", $namelist); 
$places = explode("\n", $placelist); 

$entries = min(count($names), count($places));

for ($i = 0; $i < $entries; $i++) {
$name  = trim($names[$i]); 
$place = trim($places[$i]);
echo "My name is $name and I am from $place ".PHP_EOL;
}

?>

しかし、テキストエリアの空白行を処理する上記のコードは? 空行がエコーしないようにする必要があります。たとえばnamelist

Tom
George

およびplacelist含む

GK
US

次のような出力が得られます。

My name is Tom and I am from GK 
My name is George and I am from US

ただし、テキストエリアに空白行がある場合は、空白行も処理します。例えば:

Tom
George

GK

US

以下のような出力が得られます

My name is Tom and I am from GK 
My name is George and I am from
4

2 に答える 2

2

これを試して:

爆発する前に空白行を削除するために使用regexします (任意の数の連続する空白行に適しています)。

$name = preg_replace('/\n+/', "\n", trim($_POST['namelist']));
$place = preg_replace('/\n+/', "\n", trim($_POST['placelist']));
于 2013-10-17T06:54:49.677 に答える