2012-07-12 47 views
0

好吧,我确实有这个以下代码从ob_get_clean()输出删除换行符

<?php 
ob_start(); 
?> 
codepad is an 
online compiler/interpreter, 
and a simple collaboration tool. 
Paste 

your code below, 
and codepad wi 
ll run 
it and give you a short 
URL you can use to share 
it in chat or email 
<?php 
$str = str_replace('\r\n','',trim(ob_get_clean())); 
echo $str; 
?> 

,你可以看到它是如何在这里工作 http://codepad.org/DrOmyoY9

现在

什么,我想在这里是从去除新行ob_get_clean()的存储输出

我几乎环顾了互联网上关于如何删除字符串中的换行符,这是除了使用缓慢的preg_replace()之外删除换行符的常见和最快的方法。

为什么会发生这种情况?这已经是一个错误?或者我错过了什么?

+1

\ r \ n是windows风格。如果用户使用linux \ n会怎么样?最佳阵列(“\ r”,“\ n”) – 2012-07-12 07:45:15

+0

谢谢你谢谢^^ – 2012-07-12 07:48:25

+0

@Dreadedsemicolon请发表您的答案我会接受它 – 2012-07-12 08:01:37

回答

1

\ r \ n

$str = str_replace("\r\n",'',trim(ob_get_clean())); 

是windows风格,但如果用户使用Linux或Mac,它会有所不同。所以最好的解决方案是:

$str = str_replace(array("\r","\n"),'',trim(ob_get_clean())); 
2

我觉得你错过了一个东西,它应该是:使用双引号不是单引号

+0

哈哈谢谢^^ – 2012-07-12 07:48:00

+0

很高兴帮忙。它解决了你的问题吗? – 2012-07-12 07:58:49

+0

好吧,我加了“\ t”就可以了,但是我把它作为我的问题的一位评论员 – 2012-07-12 08:02:30