在PHP中,列表项一直转到下一行

在PHP中,列表项一直转到下一行,php,newline,forms,Php,Newline,Forms,我正在使用表单提交要保存到配置文本文件的项目列表,但这些列表项目都应该位于文本文件的同一行。然而,每当PHP将列表项分解并放入文件中时,它会自动在标记前添加一行新行。为什么?我如何防止这种情况 代码: 为什么在每个之前都有换行符 在那里的某个地方,它正在添加新的行 谢谢 David在windows或linux中,换行符可能会很棘手\n和/或\r,因此我添加了一个修剪,以便在分解后删除任何额外的内容,看起来很有效。就我个人而言,我会用一个父亲而不是一个父亲,但那只是我自己 $_POST["pro"

我正在使用表单提交要保存到配置文本文件的项目列表,但这些列表项目都应该位于文本文件的同一行。然而,每当PHP将列表项分解并放入文件中时,它会自动在
标记前添加一行新行。为什么?我如何防止这种情况

代码:

为什么在每个
之前都有换行符

在那里的某个地方,它正在添加新的行

谢谢


David

在windows或linux中,换行符可能会很棘手
\n
和/或
\r
,因此我添加了一个修剪,以便在分解后删除任何额外的内容,看起来很有效。就我个人而言,我会用一个父亲而不是一个父亲,但那只是我自己
$_POST["pro"]="1
2
3
4";

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

$proo = "<ul>";
for($index=0; $index<count($pro);$index++)
{
    $proo .= "<li>".trim($pro[$index])."</li>";
}

$proo .= "</ul>";

echo $proo;
$\u POST[“pro”]=“1
2.
3.
4";
$pro=explode(“\n”,$\u POST[“pro”]);
$proo=“
    ”;
    对于($index=0;$indexwindows或linux
    \n
    和/或
    \r
    来说,换行符可能很棘手,因此我添加了一个修剪,以便在分解后删除任何额外的内容,这似乎很有效。就我个人而言,我会使用foreach()父亲而不是for(),但那只是我自己
    $_POST["pro"]="1
    2
    3
    4";
    
    $pro = explode("\n",$_POST["pro"]);
    
    $proo = "<ul>";
    for($index=0; $index<count($pro);$index++)
    {
        $proo .= "<li>".trim($pro[$index])."</li>";
    }
    
    $proo .= "</ul>";
    
    echo $proo;
    
    $\u POST[“pro”]=“1
    2.
    3.
    4";
    $pro=explode(“\n”,$\u POST[“pro”]);
    $proo=“
      ”;
      对于($index=0;$index我只需添加以下行:

      $proo = str_replace("\r","",$proo);
      

      不管出于什么原因,它添加了一个返回字符。我不知道为什么,但还是要感谢您的帮助。

      我只需添加以下行:

      $proo = str_replace("\r","",$proo);
      

      无论出于何种原因,它添加了一个返回字符。我不知道为什么,但还是要感谢您的帮助。

      在您使用的任何系统中,将始终等于相应的行尾字符序列

      explode(PHP_EOL,$_POST["pro"]);
      
      上述代码将始终有效。

      换行符(PHP_下线值)为:
      Windows:\r\n
      *尼克斯:\n
      旧的苹果Macintosh(新的基于unix):\r



      编辑:
      正如所指出的,浏览器默认使用Windows的换行符。

      explode("\r\n",$_POST["pro"]);
      

      在您正在使用的任何系统中,要走的路将始终等于相应的行尾字符序列

      explode(PHP_EOL,$_POST["pro"]);
      
      上述代码将始终有效。

      换行符(PHP_下线值)为:
      Windows:\r\n
      *尼克斯:\n
      旧的苹果Macintosh(新的基于unix):\r



      编辑:
      正如所指出的,浏览器默认使用Windows的换行符。

      explode("\r\n",$_POST["pro"]);
      

      当你查看网页源代码时,你会看到新行吗?否,它会输出到一个文本文件,在每个
      标记之前包含新行。这会弄乱主页上的javascript,所以我需要从这篇文章中删除新行字符。添加
      打印($pro)
      紧接着:
      $pro=explode(“\n”,$\u POST[“pro”]);
      并向我们显示输出
      数组([0]=>列表项1[1]=>列表项2[2]=>列表项3[3]=>列表项4[4]=>列表项5)
      当你查看网页源代码时,你会看到新行吗?否,它会输出到一个文本文件,在每个
      标记之前包含新行。它会弄乱主页上的javascript,所以我需要从这篇文章中删除新行字符。添加
      打印($pro);
      紧接着:
      $pro=explode(\n“,$\u POST[“pro”]));
      并显示输出
      数组([0]=>列表项1[1]=>列表项2[2]=>列表项3[3]=>列表项4[4]=>列表项5)
      与我的想法相同,在php中总是有10种方法做相同的事情。与我的想法相同,在php中总是有10种方法做相同的事情。