プロが教えるわが家の防犯対策術!

preg_replaceで5回以上の連続した改行を1回の改行に直したいのですが、
正規表現はどのように書いたらいいのでしょうか?
書いてみたのですが、動いてくれません。。。

<?
$str=preg_replace("/\n/{5,}","\n",$str);
?>

申し訳ありませんが、ご教授ください。

A 回答 (4件)

元データはどこから持ってきているのか解りませんけど


改行コードがwindows用の \r\n になっているとか、
mac用の \r だとか云うことはありませんか?
postやgetで受け取ったデータだとその可能性大です。
4個までは、そのままとするなら、以下のようにしてみては?
$str=preg_replace("/(\r\n){5,}|\r{5,}|\n{5,}/","\n",$str);
    • good
    • 0
この回答へのお礼

ありがとうございます!
これで実現することができました!

お礼日時:2005/07/16 10:08

パッドからコピーしたら、


ちょい化けしてた、

No2.訂正
$str=preg_replace('/\\n{5,}/', "\n", $str);
    • good
    • 0
この回答へのお礼

ありがとうございます!
どうやら、\rになっていたようです!
無事、実現することができました!

お礼日時:2005/07/16 10:10

ほいと、


$str=preg_replace('/\\\\n{5,}/', "\n", $str);

とりあえず、改行が\nだと仮定した話だけどね
    • good
    • 0

$str=preg_replace("/\n{5,}/","\n",$str);


ではどうですか

この回答への補足

早速の回答ありがとうございます。
残念ですが動きません。

補足日時:2005/07/15 20:09
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!