相关疑难解决方法(0)

如何从字符串中删除换行符(没有字符!)?

这可能看起来像是一个骗局,但请放心不是 - 我已经搜索了SO以及网络的其他部分来解决我的问题并最终找到相同的不足"解决方案"一遍又一遍.无论如何,这里是:

我将用户输入从textarea保存到MySQL数据库(在WordPress环境中,但我认为这对于这个问题不应该重要).稍后从数据库中检索它以显示给站点后端的管理员.当用户使用换行符提交文本时(即按Enter键)会出现问题.

示例字符串可能如下所示:

Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!

Greetings,
Bill
Run Code Online (Sandbox Code Playgroud)

字符串中没有行尾字符("\n","\ r"或类似字符).

我正在使用nl2br()它来生成HTML输出,但这还不够.结果是:

Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!<br />
<br />
Greetings,<br />
Bill
Run Code Online (Sandbox Code Playgroud)

据我所知,这是预期的nl2br()结果,因为插入标签并不应该首先替换换行符?

但是我需要的格式是这样的:

Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!<br /><br />Greetings,<br />Bill
Run Code Online (Sandbox Code Playgroud)

如果字符串中有EOL字符,例如"\n",我用其中任何一个str_replace()或者preg_replace()用它来完成它,但我不知道如果没有字符那么用什么针来提供这些函数首先.

我可以手动访问数据库中的相关字段,为每个换行符点击Backspace,以及我以后想要对字符串工作的内容.所以我知道我需要以上格式.

html php replace line-breaks nl2br

132
推荐指数
8
解决办法
26万
查看次数

使用PHP中的换行符替换文字字符串\ r \n的问题

我有一个文本文件,其中包含文字字符串\r\n.我想用实际换行符(\n)替换它.

我知道正则表达式/\\r\\n/应该匹配它(我已经在Reggy中测试过了),但是我无法在PHP中使用它.

我尝试了以下变化:

preg_replace("/\\\\r\\\\n/", "\n", $line);

preg_replace("/\\\\[r]\\\\[n]/", "\n", $line);

preg_replace("/[\\\\][r][\\\\][n]/", "\n", $line);

preg_replace("/[\\\\]r[\\\\]n/", "\n", $line);

如果我只是尝试替换反斜杠,它可以正常工作.一旦我添加一个r,它就找不到匹配项.

我正在阅读的文件编码为UTF-16.

编辑:

我也尝试过使用过str_replace().

我现在认为这里的问题是文件的字符编码.我尝试了以下,它确实有效:

$testString = "\\r\\n";
echo preg_replace("/\\\\r\\\\n/", "\n", $testString);
Run Code Online (Sandbox Code Playgroud)

但它不适用于我从我的文件中读取的行.

php regex preg-replace backslash

2
推荐指数
1
解决办法
3241
查看次数

如何读取解释\n的txt文件?

如何读取显示html标记并解释文件的.txt \n文件.

我正在使用脚本php来读取这些文件:

echo readfile("file.txt");
Run Code Online (Sandbox Code Playgroud)

谢谢.

php

-1
推荐指数
1
解决办法
62
查看次数

标签 统计

php ×3

backslash ×1

html ×1

line-breaks ×1

nl2br ×1

preg-replace ×1

regex ×1

replace ×1