使用PHP删除换行符


Removing line breaks with PHP

我遇到了一个小问题。

问题是,在我的数据库中,我得到了一条文本,然后我将其打印到屏幕上,代码如下:

<p>Text 1</p>
<p>Text 2</p>

这是HTML中的输出,因为我使用tinyMCE插件。到目前为止进展顺利。问题是,我想把它放在一个javascript变量中(比如:onclick="my_function(the_text_above)"),但输出代码会换行,当函数运行时会变成一个非法的令牌

希望你能帮我解决我遇到的这个问题。

您只需将/n(新行)替换为无

PHP

echo str_replace("'n","","your 'n text");

Javascript

"Your 'ntext".split("'n").join("")

为此使用json_encode

它看起来像:

var jsVariable = <?php echo json_encode($stringFromDb); ?>;

无论输入如何,json_encode都将生成合法的js文本。

附言:如果你需要的只是正确地清理数据,那么删除行是没有意义的。

我知道您想从字符串中去掉换行符。您可以使用str_replace来执行此操作。

str_replace("'n",'');

这将从字符串中删除UNIX中断。我不知道您的代码包含哪种类型的break,所以''n可能无法立即工作。另一个是"''r",我想其他人很少,遗憾的是我并不都认识。