シングル/ダブルクオーテーションがエスケープできません - PHPプロ!Q&A掲示板

46

  • 0P

シングル/ダブルクオーテーションがエスケープできません

質問日時 / 2006年6月29日 22:46    回答数 / 6件

Questioner:  xiaolin  このエントリーをはてなブックマークに追加 

キーワード / apache    クオーテーション    エスケープ   

初歩的な質問かもしれませんが、教えてください。

「My friend's name is "Mike".」というシングルとダブルクオーテーションの両方を含む一文を出力したい場合に
echo "My friend\'s name is \"John\"";

とダブルクオーテーション内に入れて出力すると、
My friend\'s name is "John".

というように\"はエスケープされるのに\'はエスケープされずそのまま表示されます。

どうすれば良いでしょうか。
ご教授の程、よろしくお願いします。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┣A01infinitiダブルクォーテーションの中ではダブルクォーテーショ
┃┗A01-1xiaolinこの方法を用いたら上手く動作することが出来ました!
┣A02akoyamaecho 'My friend\'s name is "John&qu
┃┗A02-1xiaolinなるほど、いろいろ方法があるんですね。 こちらの方
┗A03solis全体を"を使って閉じているのでそういう仕様のよ
 ┗A03-1xiaolinご返答いただきまして、有難うございました。 プログ

回答一覧

並び替え:

A01 満足
answererinfiniti [6月29日 23:00]

ダブルクォーテーションの中ではダブルクォーテーションのみをクオートすればOKです。

この意見に回答する

ツリーへ TOPへ

A01-1
replyerxiaolin [6月30日 21:05]

この方法を用いたら上手く動作することが出来ました!
ご指導いただきまして、誠に有難うございました。

この意見に回答する

ツリーへ TOPへ

A02 満足
answererakoyama [6月30日 09:02]

echo 'My friend\'s name is "John"';
echo "My friend's name is \"John\"";

上記のように「'」「"」どちらでも囲むことができます。

この意見に回答する

ツリーへ TOPへ

A02-1
replyerxiaolin [6月30日 21:05]

なるほど、いろいろ方法があるんですね。
こちらの方法でも、上手く解決することができました。
ご指導いただき、誠に有難うございました。

この意見に回答する

ツリーへ TOPへ

A03 満足
answerersolis [6月30日 22:01]

全体を"を使って閉じているのでそういう仕様のようです。
"か'のどちらかが全体を閉じる引用符となり、引用符とならない方は普通の文字として使うようです。

質問に対しての答えは、\'というのは必要なく、'だけでよいことになります。

\'をつかうときは、以下のような形もOKです。
echo 'My friend\'s name is "John"';

ただ、"と'の違いは、"を引用符としたとき、変数と改行を展開できることです。

例えば、
$a= "abc";
echo "$a\n"; は、

abc
(改行)

と表示されます。

しかし
echo '$a'; は、

$a\n 

と表示されてしまいます。

この意見に回答する

ツリーへ TOPへ

A03-1
replyerxiaolin [7月3日 13:14]

ご返答いただきまして、有難うございました。
プログラムの記述仕方にも、だいぶ人の好みが現れると言うことですね。
皆さんに教えてもらって、大変参考になりました。

まだまだ初心者で、これからも迷うところだらけになると思いますので、今後とも宜しくお願いします。

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
セッションがいいのか、それともデータベースがいいのか教えて下さい。
 このエントリーをはてなブックマークに追加 
A
>ボタンをクリックしたら選んだ商品情報を持っておきたいと思っています。 そのくらいのことならセッションもしくはCookie(期限短め:場合によってはブラウザ閉じるまで)でいいんじゃないですかね。 #わ...

>>続きを読む

一つの目安として、ECサイトの購入情報など絶対に消えてはいけないものはDBに、カートなどの一時的に使用する情報や、ユーザに任意のタイミングで消去されても構わないものはセッションにと使い分けるといいでしょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)