最近の、別の記事を探す
【タイトル】
改行コードのせいで、急にエラーとなったpreg_replace
【キーワード】
改行コード,preg_replace,CRLF,LF
【内容】
午前中に確認できた処理、暫定でスクリプト中にdefineを入れていたのを、共通のファイルconfigureに移した。午後一で念のためにテストしたら、preg_replaceでエラーが出るようになりました。
あちこち修正しているので、デグレードしたのかもと思い、トレースのechoを入れてsubjectとpatternを表示しても、見た目何の違いもありません。ただし、subjectとpatternはどちらも改行コードを持ち、画面上で同じように見えます。
苦し紛れに今まで使っていなかった修飾子のu,s,mと追加していっても、全く状況が変わりません。
急がば回れで慎重を期したけど、単純に考えれば、configureが問題かもとファイルを開いたら、
ファイルの改行コードが
CRLFになっていました。
他のスクリプトは全部LFで作成しています。
見た目同じように見えても、
CRLFを含むpatternをLFだけのsubject中で見つけようとしたので、エラーになったのでした。修正はconfigureをLFで保存することで完了です。
更新日 2015-06-24