Php 仅在需要换行符的地方用换行符替换rn

Php 仅在需要换行符的地方用换行符替换rn,php,Php,我当前收到的文本中有rn换行符-\r\n-应该在哪里(很可能是压缩的结果) 在php中,我想用安全地替换它 目前,我所拥有的是 str_replace("rn", "<br/>", text); stru替换(“rn”,“br/>”,文本); 但是,如果在某个地方输入像“corn”这样的单词,这将失败 有什么办法可以让这一切顺利吗?我希望它使用preg\u replace(),但不确定 编辑:文本的一个例子是foobarrnbaz-bop就是这样。您可以使用单词边界\b,这样当它

我当前收到的文本中有
rn
换行符-
\r\n
-应该在哪里(很可能是压缩的结果)

在php中,我想用

安全地替换它

目前,我所拥有的是

str_replace("rn", "<br/>", text);
stru替换(“rn”,“br/>”,文本);
但是,如果在某个地方输入像
“corn”
这样的单词,这将失败

有什么办法可以让这一切顺利吗?我希望它使用
preg\u replace()
,但不确定

编辑:文本的一个例子是
foobarrnbaz-bop

就是这样。您可以使用单词边界
\b
,这样当它是单词的一部分时,它就不匹配
rn
,例如

$text = preg_replace("/\brn\b/", "<br />", $text);
$text=preg\u replace(“/\brn\b/”,“
”,$text);
是一种方法。您可以使用单词边界
\b
,这样当它是单词的一部分时,它就不匹配
rn
,例如

$text = preg_replace("/\brn\b/", "<br />", $text);
$text=preg\u replace(“/\brn\b/”,“
”,$text);
那就行了,只是文字有时会混在一起,看看OP的例子。@TheOnlyOneAround我真的不明白你的意思吗
\b
阻止匹配,如
corn
rnxy
。但问题是,有时文本像
foo-barrnbaz-bop
,它将不匹配。@onlyonearound如果要替换它,实际上没有办法检测到。因为很难发现,
rn
不是这个词的一部分:
barrnbaz
,但这里应该是:
corn
。是的,我想那时我只能用不安全的方式了。那会管用的,只是文本有时会混在一起,以OP为例。@Theonlyound我真的不明白你的意思吗
\b
阻止匹配,如
corn
rnxy
。但问题是,有时文本像
foo-barrnbaz-bop
,它将不匹配。@onlyonearound如果要替换它,实际上没有办法检测到。因为很难发现,
rn
不是这个词的一部分:
barrnbaz
但这里是:
corn
。是的,我想我当时只能用不安全的方式。很可能是
stripslashes()
的结果。那么:“我站在我朋友的角落里,把我写的东西翻了个底朝天。”
rn
将被替换的原因是什么?@trincot这就是问题所在,似乎没有好办法解决:/最有可能的结果是
stripslashes()
。关于:“我站在朋友和朋友们写的角落里。”
rn
将被替换的原因是什么?@trincot这就是问题所在,似乎没有好的方法来解决:/