2017-02-18 4 views
1

私はスクリプトを持っており、正常に動作しています。しかし、出力は複数の行にあります。これを修正して1行に出力するにはどうすればよいですか?出力を1行にエコーする方法は?

<?php 
$filename1 = './workspace/vars1.txt'; 
$contents1 = file($filename1); 
foreach ($contents1 as $line1) { 
    $str1 = " <TR><TD>$line1:</TD><TD> <input type=\"text\"name \"$line1\" " ; 
    echo $str1; 
    fwrite($file, $str1); 
} 
fclose($file); 
?> 

出力:

<TR><TD>ID 
:</TD><TD> <input type="text"name="ID 
" <TR><TD>APP 
:</TD><TD> <input type="text"name="APP 
" 

出力は次のようになります。

<TR><TD>ID:</TD><TD> <input type="text"name="ID" <TR><TD>APP:</TD><TD> <input type="text"name="APP" 
+0

ほとんどの場合、値に改行文字が含まれている可能性があります。 'trim()'関数を使ってみてください。 – arkascha

答えて

0

して、スペースを含む、あなたの値であってもよいです。トリミングして表示します。

foreach ($contents1 as $line1) { 
$line1 = trim($line1); 
$str1 = " <TR><TD>$line1:</TD><TD> <input type=\"text\"name=\"$line1\" " ; 
echo $str1; 
fwrite($file, $str1); 
} 
0

file()関数は、ファイルから行を読み取り、それはまた、改行文字が含まれています。

foreach ($contents1 as $line1) { 
    // Remove any new line characters from the string before using it. 
    $line1 = str_replace(PHP_EOL, '', $line1); 
    $str1 = " <TR><TD>$line1:</TD><TD> <input type=\"text\"name=\"$line1\" " ; 
    echo $str1; 
    fwrite($file, $str1); 
} 
関連する問題