如果我将2行值分配给这样的变量。
$tt = 'part 1
part 2 ';
我回应它。
echo $tt;
我的浏览器会在2行显示它,没关系。但是在源页面上,代码将在2行上进行。
如何摆脱这种回车。 因为它不是chr(13)和\ r \ n,所以它们不起作用。
echo str_replace(chr(13), '-', $tt);
echo str_replace('\r', '-', $tt);
有什么想法吗?
答案 0 :(得分:0)
这实际上取决于你所处的环境。在Windows中,换行符是\ r \ n。在* nix环境中,它只是\ n。
echo str_replace("\r", "-", str_replace("\n", "-", $tt));
答案 1 :(得分:0)
Windows或Linux的简单方法:
str_replace("\r\n", "-", $var);
在Linux上,\ r \ n仍然被检测到。这里建议的任何其他内容都是矫枉过正(尽管不一定是不正确的)。
请记住,在使用\ r或\ n。
等特殊字符时,您需要使用双引号编辑:
如果你想要格外小心,可以改用它:
str_replace(array("\r\n", "\n"), "-", $var);
使用char()函数不需要额外的开销,例如\ r或\ n。
答案 2 :(得分:-1)
你可以尝试
str_replace(array(chr(13),chr(10)), "-", $tt);