-2

如果我将 2 行值分配给这样的变量。

$tt = 'part 1
part 2 ';

我附和它。

echo $tt;

我的浏览器将它显示在 2 行上,这很好。但是在源页面上,代码将有 2 行。

怎么能摆脱这个回车。因为它不是 chr(13) 和 \r,所以这些都不起作用。

echo str_replace(chr(13), '-', $tt);
echo str_replace('\r', '-', $tt);

任何想法?

4

3 回答 3

0

这实际上取决于您所处的环境。在 Windows 中,换行符是 \r\n。在 *nix 环境中它只是 \n。

echo str_replace("\r", "-", str_replace("\n", "-", $tt));
于 2012-10-01T01:53:09.770 回答
0

适用于 Windows 或 Linux 的简单方法:

str_replace("\r\n", "-", $var);

在 Linux 上,仍会检测到 \r\n。这里提出的任何其他建议都是过分的(尽管不一定是不正确的)。

请记住,在使用 \r 或 \n 等特殊字符时需要使用双引号。

编辑:

如果你想格外小心,你可以用这个来代替:

str_replace(array("\r\n", "\n"), "-", $var);

对于 \r 或 \n 之类的东西,您不需要使用 char() 函数的任何额外开销。

于 2012-10-01T02:59:38.977 回答
-1

你可以试试

str_replace(array(chr(13),chr(10)), "-", $tt);
于 2012-10-01T01:53:59.007 回答