我从db那里得到这样的文字。
{br}{/br}hello!{br}{/br}
此文本在textarea元素内输出。
我需要的是用不可见的char '{br}{/br}'
替换所有'\n'
,这应该在textarea本身设置一个输入空间。希望:))
我试图做的是。
$text = str_replace('{br}','\n',$text);
$text = str_replace('{/br}','\n',$text);
然后在textarea中输出$text
,但字符\n
可见:|
答案 0 :(得分:2)
使用带有双引号"\n"
的{{3}}将其解释为换行符;带引号的'\n'
是一个字面反斜杠,后面跟n
。
$text = str_replace('{br}{/br}', "\n", $text);
我不确定您为什么要为str_replace
拨打{br}
一次,为{/br}
拨打一次。您是否希望每对{br}{/br}
被两条新线替换?如果是这样,你可以通过一次通话更简单地做到这一点:
$text = str_replace('{br}{/br}', "\n\n", $text);
答案 1 :(得分:1)
您需要将\n
放在双引号中,而不是单引号。变量和转义序列不用单引号进行插值。此外,您可能希望用一个新行替换整个字符串{br}{/br}
- 使用您已完成的操作,您将用两个替换它。
所以:
$text = str_replace('{br}{/br}',"\n",$text);
可能是你想要的。您可能值得阅读this,因此您知道在PHP中您可以/不能使用字符串。
答案 2 :(得分:1)
尝试使用双引号
$text = str_replace('{/br}', "\n", $text);