0

通过 PHP 读取文本文件时,如下所示:

$file_handle = fopen("L:\\file.txt", "rb"); 
while (!feof($file_handle) ) 
{
    $line_of_text = fgets($file_handle); 
    $parts = explode('=', $line_of_text); 
    echo "<option value=\"$parts[0]\">$parts[0]</option>"; 
}
fclose($file_handle);   

... HTML 源代码最终看起来像:

<option value="AACM
">AACM
</option><option value="Academic Registry
">Academic Registry
</option><option value="Admin
">Admin

.. 等等。很乱!有没有办法防止它?理想情况下,我希望它正确格式化为:

<option value="AACM">AACM</option>
<option value="Academic Registry">Academic Registry</option>

... ETC。

这可能吗?

谢谢 :)

4

4 回答 4

2
echo "<option value=\"".trim($parts[0])."\">".trim($parts[0])."</option>"; 
于 2012-11-09T14:03:10.987 回答
2

您正在寻找trim()删除前导和尾随空格的功能。

于 2012-11-09T14:04:14.527 回答
1

删除这个:

$parts = explode('=', $line_of_text); 

无需逐行执行某项操作即可读取文件的更简单快捷的方法是file_get_contents() 示例:echo file_get_contents("L:\\file.txt");

但是,如果您想逐行读取文件,则

<?php
$filename = "L:\\file.txt";
$fp = fopen($filename, "r") or die("Couldn't open $filename");
while(!feof($fp)) {
   $line = fgets($fp, 1024);
   echo "$line\n";
}
?>

来源: http: //php.net/manual/en/function.file-get-contents.php http://www.codemiles.com/php-tutorials/reading-a-file-line-by-line-in -php-t1484.html

于 2012-11-09T14:09:29.507 回答
0

我没有尝试过,但我认为这应该可行:

$file_handle = fopen("L:\\file.txt", "rb"); 
while (!feof($file_handle) ) 
{
    $line_of_text = fgets($file_handle); 
    $parts = explode('=', $line_of_text); 
    $option = "<option value=\"$parts[0]\">$parts[0]</option>";
    $new_option = preg_replace("/[\n\r]/","",$option) . "\n";
    echo $new_option;
}
fclose($file_handle);
于 2012-11-09T14:14:17.697 回答