PHP - Windows Macintosh 改行コード

PHP

Windows、Macintosh そしてUNIXでは、それぞれ改行コードが異なります。

これにより、ブラウザなどから入力された文字列の改行を、HTMLでどう表示させるか頭を悩ませることがしばしばあります。

PHPはUNIXのサーバー上で動作させるので、通常、改行は「LF(ラインフィード)」になります。しかし、Windowsの改行コードは「CRLF(キャリッジリターンラインフィード)」となるため、サーバーと改行コードのデータをやり取りする際には気をつけなければいけません。

今回はOSによって異なる改行コードをまとめておきたいと思います。

改行コード

Windows → CRLF改行「¥r¥n」
Macintosh OS9まで→ CR改行「¥r」
Macintosh OSX→ LF改行「¥n」
UNIX → LF改行「¥n」

「str_replace」関数などを使用して、改行コードを変換する際には正しく行いましょう!

改行コードをすべて削除

$str = str_replace(array("\r\n", "\r", "\n"), '', $str);

WindowsのCRLF改行「¥r¥n」とMacintosh OS9までのLF改行を一括でLF改行「¥n」に変更

$str = str_replace(array("\r\n", "\r"), "\n", $str);

改行コードをすべてHTMLの
タグに変換

$str = nl2br($str);

nl2br関数は、「New Line To Break」の略となっていて、改行を<br />タグへ変換しますよという意味のようです。
こんな便利な関数があるんですね!

【PHP net】nl2br — 改行文字の前に HTML の改行タグを挿入する

【関連記事】改行コードに関して LFとCRとは

HTMLを扱うPHPプログラムを作る際、改行コードの処理が必要となる場面が出てきます。今回は、改行コードに関してメモしておきます!まず、使用されるOSで改行コードを分類すると下記の3つがあります。 LF:UNIX系、Mac

【関連記事】PHP 改行の削除

PHP
テキストエリアやテキストファイルなどから取得した文字列を配列に格納して処理しようとする際、改行コードが邪魔となることがあります。改行は「trim」関数で削除することができます。「trim」では、文字列の前後にあるスペースや改行やタブ
プロから直接学べるプログラミングスクールの紹介!PHPコースあり!

自己流でプログラミングを覚えようとすると、環境設定でつまづく、書いたプログラムがなぜ動かないか解決できず、多大な時間を浪費してしまいがちです。

担当の指導者(メンター)が付いてくれるTechAcademyなら、分からないことをどんどん質問して解決できます!コードレビューしてもらえるのも素晴らしい点ですね。

【TechAcademy】家で学べるプログラミングスクール

Web制作会社が立ち上げたWebデザイナー育成スクール Web塾超現場主義

Web制作に実際に携わっている講師陣が、現場で通用するスキルを伝授します!卒業後は転職支援、仕事紹介などを行っており、フリーランス独立する道を探すこともできそうです。

また「独立・開業はちょっと...」という方へは、当社の制作案件をお手伝いして頂く道も開けます。
Facebookアカウントでコメント

※本コメント機能はFacebookによって提供されており、この機能によって生じた損害に対してザ サイベースは一切の責任を負いません。

PHP

ABOUTこの記事を書いた人

とみっち

埼玉でザ サイベースを主催しています。Webクリエイター。フリーランス歴7年。飄々と生きています。これでも育児頑張ってます。長野市出身。 @tomicci 詳しいプロフィール【興味】ギター/DTM/Web/車/田舎/旅/酒/育児 自然の音からデスメタルまで聴きます。【運営サイト】 ザ サイベース おと風景