- ベストアンサー
preg_replaceで連続した改行
preg_replaceで5回以上の連続した改行を1回の改行に直したいのですが、 正規表現はどのように書いたらいいのでしょうか? 書いてみたのですが、動いてくれません。。。 <? $str=preg_replace("/\n/{5,}","\n",$str); ?> 申し訳ありませんが、ご教授ください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
元データはどこから持ってきているのか解りませんけど 改行コードがwindows用の \r\n になっているとか、 mac用の \r だとか云うことはありませんか? postやgetで受け取ったデータだとその可能性大です。 4個までは、そのままとするなら、以下のようにしてみては? $str=preg_replace("/(\r\n){5,}|\r{5,}|\n{5,}/","\n",$str);
その他の回答 (3)
- ketaimania
- ベストアンサー率39% (9/23)
回答No.4
パッドからコピーしたら、 ちょい化けしてた、 No2.訂正 $str=preg_replace('/\\n{5,}/', "\n", $str);
質問者
お礼
ありがとうございます! どうやら、\rになっていたようです! 無事、実現することができました!
- ketaimania
- ベストアンサー率39% (9/23)
回答No.2
ほいと、 $str=preg_replace('/\\\\n{5,}/', "\n", $str); とりあえず、改行が\nだと仮定した話だけどね
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.1
$str=preg_replace("/\n{5,}/","\n",$str); ではどうですか
質問者
補足
早速の回答ありがとうございます。 残念ですが動きません。
お礼
ありがとうございます! これで実現することができました!