我正在使用 str_replace 并且它无法正常工作。我有一个文本区域,输入是通过表单发送的。当服务器接收到数据时,我想将新行更改为“,”。
$teams = $_GET["teams"];
$teams = str_replace("\n",",",$teams);
echo $teams;
奇怪的是,我收到以下结果
切尔西
,真实的
,巴塞罗那
而不是 Chealsea,real,Barcelona。
怎么了?
我正在使用 str_replace 并且它无法正常工作。我有一个文本区域,输入是通过表单发送的。当服务器接收到数据时,我想将新行更改为“,”。
$teams = $_GET["teams"];
$teams = str_replace("\n",",",$teams);
echo $teams;
奇怪的是,我收到以下结果
切尔西
,真实的
,巴塞罗那
而不是 Chealsea,real,Barcelona。
怎么了?
要扩展 Waage 的响应,您可以使用数组来替换两组字符
$teams = str_replace(array("\r\n", "\n"),",",$teams);
echo $teams;
这应该正确处理这两个项目,因为一个\n
是有效的,如果你只是更换就不会被抓住\r\n
尝试更换"\r\n"
而不是仅仅"\n"
我会修剪文本并用逗号替换所有连续的 CR/LF 字符:
$text = preg_replace('/[\r\n]+/', ',', trim($text))
我有同样的问题,但找到了不同的答案,所以我想我会分享以防它对某人有帮助。
我遇到的问题是我想\n
用<br/>
HTML 打印替换。我必须做的简单改变是str_replace("\n","<br>",($text))
像这样逃避反斜杠:
str_replace("\\n","<br>",($text))