[PHP-users 21123]Re: ファイル読込後の正規表現による判定について
T.Okabe
okabe @ nsd.jip.co.jp
2004年 4月 4日 (日) 18:33:32 JST
岡部といいます。
> 単純に文字列比較で「""」と等しい場合で判定できると
>思いましたがうまくいかないので、正規表現いよる判定も
>通してみましたがそれも判定が思うようにいかないようです。
>正規表現の「/^\n/」を「/\n/」と行うとマッチ関数なのに空行でない
>行までラインが引かれてしまいます。
fgetsの戻り値は確認してみたでしょうか?
マニュアルのfgetsのページにも以下のようにありますが、
1行読み出しには行末の改行コードが含まれます。
読み出しは、length-1バイト読み出したか、
-> (返り値 に含まれる)改行文字を検出したか、
EOFに達したかのいずれかが起こった時点で終了します。
従って、空行には改行コードのみが入っており、
他の行にも改行コードは入っています。
また、少し前にも話題になっていた気がしますが、
改行コードも主に3種類の組み合わせがあり得ますので、
改行をマッチさせるならその点も考慮する必要があります。
PHP-users メーリングリストの案内