2012-04-10 4 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に変更された場合、大文字と小文字を区別しません。 –

答えて

1

2行目のスラッシュをエスケープする必要はありません。実際にはstrip_tagsまで実行しているため、最初の2つの置換えは必要ありません。これを試してみてください:

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

だけ$i->colour_codeが読み取り専用でないことを確認してください。

+0

それを指し示すための乾杯 –

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を使用することに決めましたが、あなたのソリューションはよりエレガントに見えます –

+0

ありがとう。鉱山とKolinksの両方の回答があなたの問題を解決する解決策であるので、私は答えを受け入れるためにチェックボックスをクリックすることをお勧めします:) – ANisus