
卒業生インタビュー
2021.03.03
【卒業生の声:森さん】文系の僕がプログラミングの道へ進むことは、不安も迷いもあった。今は、あの時思い切って良かったと心から思います
受講スクール プログラマカレッジ 受講期間 昼間コース(3ヶ月間) 料金 無料 就職先 株式会社イーゼ プログラマカレッジ卒業生の森さんにお話しをお伺いしました! 目次 開発学という観点からSDGsについて学んだ院生活。 […]
PHP
2019.06.12
文字列内で改行させたい場合や ダブルクォーテーションを出力させたい場合など、通常の記述では意図した出力結果が得られない処理を、特殊な文字の組み合わせを記述することで実現することを エスケープ処理と言います。
今回は PHP のエスケープ処理について紹介します。
PHP【文字列】文字列の連結
PHP【文字列】explode で文字列を分割
PHP【文字列】str_replace で文字列を置換
PHP【文字列】文字列の検索
PHP【文字列】文字列の比較
PHP【文字列】substr で文字列の抽出
PHP【文字列】数値に変換
PHP【文字列】strlen で文字列の長さを取得
PHP【文字列】trim で空白を削除
PHP【文字列】sprintf でフォーマット
PHP【文字列】エスケープ処理(本ページ)
尚、本サイトでは XAMPP( ザンプ )という開発環境を使用しています。
XAMPP のインストール方法や起動方法については以下の記事をご参照下さい。
PHP【 開発環境 】XAMPP インストール
PHP【 開発環境 】XAMPP の使い方
最終更新日:2019年6月12日
1.エスケープ処理とは
2.エスケープシーケンス一覧
3.エスケープ処理のサンプル
文字列の開始や終了を意味する引用符の「 ” 」や「 ‘ 」のように普通に記述するだけでは出力されない文字を出力させたり、文字列内で改行させる場合等、意図した通りの出力結果を得るために 特殊な文字の組み合わせを記述することを エスケープ処理といいます。
直後の文字について、通常とは異なる処理をするという意味を持つ文字をエスケープ文字といいます。
エスケープ文字は、プログラム言語や文字の前後関係によって様々ですが、PHP では、バックスラッシュ( \ )や円マーク( ¥ )をエスケープ文字として使用します。
因みにバックスラッシュ( \ )を入力しても円マーク( ¥ )が表示されることがよくあると思いますが、両者は 言語環境やフォントの種類によって表示が異なる同義の文字です。
改行のように 通常の文字列では記述できない特殊な処理や、通常とは異なる出力処理をする目的で組み合わせられた文字の並びをエスケープシーケンスといいます。
例えば、「 ” 」を出力するために エスケープ文字のバックスラッシュ( \ )を使った場合、「 \” 」という文字の組み合わせがエスケープシーケンスとなります。
PHP の文字列内で使用する主なエスケープシーケンスは次の通りです。
( エスケープ文字は円マークでもバックスラッシュでも同様に使用できます。 )
\n | 改行 |
---|---|
\r | キャリッジリターン(カーソルを先頭に戻す。改行を伴うことが多い) |
\t | 水平タブ |
\v | 垂直タブ |
\f | 改ページ |
\’ | シングルクォーテーション( ‘ ) |
\” | ダブルクォーテーション( ” ) |
\¥ | 円マーク( ¥ ) |
\$ | ドルマーク( $ ) |
\nnn | 8 進数 |
\xnn | 16 進数 |
エスケープ処理をした文字列を出力してみます。
下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)
<?php echo "答えは\"escape\"です。"; echo "<br>"; echo "答えは\'escape\'です。"; echo "<br><br>"; echo '答えは\'escape\'です。'; echo "<br>"; echo '答えは\"escape"です。'; echo "<br><br>"; echo "答えは\tescapeです。"; echo "<br><br>"; echo "答えは\nescapeです。"; ?>
「 echo 」は、データを出力するために使用する PHP の命令です。
ダブルクォーテーション( ” )内でシングルクォーテーション( ‘ )を出力させたい場合は、エスケープ処理は不要です。
上のサンプル中の「 echo “答えは\’escape\’です。”; 」をエスケープ処理無しで「 echo “答えは’escape’です。”; 」と記述すると、「 答えは’escape’です。」と出力されます。
シングルクォーテーション( ‘ )内でダブルクォーテーション( ” )を出力させたい場合も同様です。
文字列中にエスケープシーケンス「 \n 」がある場合はその位置で改行され、「 \t 」がある場合はタブ分のスペースが入ります。
卒業生インタビュー
2021.03.03
受講スクール プログラマカレッジ 受講期間 昼間コース(3ヶ月間) 料金 無料 就職先 株式会社イーゼ プログラマカレッジ卒業生の森さんにお話しをお伺いしました! 目次 開発学という観点からSDGsについて学んだ院生活。 […]
スキルアップ
2021.03.03
プログラミング学習は「挫折しやすい」というイメージがありますよね。実際に学習を始めてみて、挫折しそうだと感じている方もいらっしゃるでしょう。本記事では、プログラミング学習で挫折する4つの原因を解説。さらに、プログラミング […]
スキルアップ
2021.03.02
未経験からプログラマーを目指しているものの「自分はプログラミングに向いているのかわからない」という不安から、プログラミング学習に踏み切れない人も多いでしょう。そこで本記事では、プログラミングに向いている人や向いていない人 […]
スキルアップ
2021.02.25
プログラミング初心者で、最速で技術を身につけたいと考えている人の悩みを解決します。 後述しますが、「1000時間ルール」という法則がありプログラミング初心者の方はまず1000時間の学習を目標にしましょう。今回は、プログラ […]
スキルアップ
2021.02.22
「プログラミングスクールが多すぎて選び方の基準がわからない」「スクール選びに失敗してお金も時間も無駄にすることだけはしたくない」そんな初心者の方に向けて、この記事では自分に合ったプログラミングスクールの選び方を解説します […]
プログラマハック
2021.02.19
フリーターからプログラマーになろうとしている方の中には「未経験者でも正社員として採用してもらえるか?」「自分は職歴なしのフリーターだけど、本当にプログラマーになれるのだろうか?」と不安を感じている方も多いはず。そこで今回 […]
INTERNOUS,inc. All rights reserved.