• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【困る】PHP5.2での”\f”文字列が表示不可)

【困る】PHP5.2での” ”文字列が表示不可

このQ&Aのポイント
  • PHP4のプログラムをPHP5.2に移植した際に、表示がおかしくなっています。
  • " "文字列がエスケープされ、正しく表示されないようです。
  • プログラムを変更せずに、対策する方法があるかどうかお知りになりたいそうです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

因みに「\T」や「\i」がどう解釈されるかは「未定義」なので $filename="C:\Tools\f2\it.jam"; と書いた場合、$filenameにどんな文字列が設定されるかも「未定義」です。 つまり「何が起こるか判らない」って事です。 今まで「何が起こるか判らないプログラム」のまま、うまく動いていたのが不思議です。 私が何を言っているのか判らなかったら http://nyx.pu1.net/reference/basic/escape.html を良く読んで下さい。 因みに「'」を使えば <? $filename='C:\Tools\f2\it.jam'; echo $filename; ?> と書いても構いません(「'」の中身は、「\」によるエスケープ処理は行われない」ので)

suzukika
質問者

お礼

ご回答ありがとうございます。 シングルクォートもしくは\\で対策するしかないですよね。

その他の回答 (2)

回答No.3

>因みに「\T」や「\i」がどう解釈されるかは「未定義」なので 未定義ではないんじゃね(その仕様、俺も嫌いだが) http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.double >\f form feed (FF or 0x0C (12) in ASCII) (since PHP 5.2.5) >As in single quoted strings, escaping any other character will result in the backslash being printed too. Before PHP 5.1.1, the backslash in \{$var} had not been printed.

suzukika
質問者

お礼

ご回答ありがとうございます。 ここに書いてあるのですね。

回答No.1

phpは大昔から「\は\\と書く」のがお約束だけど? <? $filename="C:\\Tools\\f2\\it.jam"; echo $filename; ?> PHPが出来た原初の頃から\は\\って書かないとダメですよ。 ってか、貴方に「echoで改行したい時はどうしてたの?」って聞きたい。

suzukika
質問者

お礼

ご回答ありがとうございます。 そうですよね。改行は/n/rとかですもんね・・

関連するQ&A