2012-04-10 208 views
0

我有一个字符串PHP - 换行和BR去除

"PRINT CHIFFON<BR /><BR /> 

" 

我试图删除任何新行的符号和标签

$i->colour_code = str_replace('<br>', '', strip_tags($i->colour_code)); 
$i->colour_code = str_replace('<br \/>', '', strip_tags($i->colour_code)); 
$i->colour_code = preg_replace("/[\n\r]/","",$i->colour_code); 

这仍然不起作用。任何想法将不胜感激,因为这个问题导致整个系统停止工作

+0

对不起,浪费大家的时间,我发布的代码将工作正常,如果str_replace更改为str_ireplace,使其不区分大小写。 – 2012-04-10 11:34:58

回答

1

您不需要在第二行替换中跳过斜杠。事实上,由于您通过strip_tags运行它,所以您甚至不需要前两个替换。试试这个:

$i->colour_code = str_replace(Array("\n","\r"),"",strip_tags($i->colour_code)); 

只要确保$i->colour_code不是只读。

+0

欢呼声指出它 – 2012-04-10 11:53:49

0

你是什么意思,它不起作用?我只是做了一个测试,你的代码确实工作,你有一个$ i-> colour_code的问题。

0

因为你似乎好使用的preg_replace,我建议使用这行代码:

$i->color_code = preg_replace('/(<br>|<br ?\/>|\r|\n)/i', '', $i->color_code); 

不像你的例子,这将是不区分大小写一样,所以如果是Br或不要紧BR。

+0

这是一段很好的代码,我决定使用str_ireplace,但你的解决方案似乎更优雅 – 2012-04-10 11:54:45

+0

谢谢。既然我和Kolinks的答案都能解决您的问题,我建议您点击复选框以接受其中一个答案:) – ANisus 2012-04-10 12:25:19