[PHP-users 21016]Windowsで改行が重複

fh foolhill @ s50.xrea.com
2004年 3月 27日 (土) 13:03:55 JST


はじめましてfhと申します。

改行2回(\n\n)の文書を改行1回(\n)に変更するコードを
 Linux 7.1
 apache 1.3.22
 php 4.3.4
 Netscape 7.02
の環境では期待どうり動いてもらえますが,

 Windows98se
 Ms IIS 4.0
 php 4.3.4
 IE 6.02
では変更後も\nが2回入ってしまいます。改行(\n)に限らず
str_replace("\n\n","\n",$html)の第2パラメータが重複されてしまうようです。

mbstringの設定は両方とも同じ設定にしています。
 mbstring.language = Japanese
 mbstring.internal_encoding = EUC-JP
 mbstring.http_input = auto
 mbstring.http_output = EUC-JP
 ;mbstring.encoding_translation = Off
 mbstring.detect_order = auto
 ;mbstring.substitute_character = none;
 ;mbstring.func_overload = 0

解決のヒントなどございましたらお教えください。
以下がコードです。
/////////////
<?php

$file = "./test.txt"; //改行2回のもと文書
$html = join(file($file));
$html =str_replace("\n\n","\n",$html);
print $html;
if (!$handle = fopen('copy.txt', 'a')) {  //改行1回変更文書用意
         print "開けられません('copy.txt')";
         exit;
   }
if (!fwrite($handle, $html)) {
       print "書き込めません('copy.txt')";//改行1回変更文書作成
       exit;
   }
   fclose($handle);
?>



PHP-users メーリングリストの案内