みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

PHPの文字列の中に<>を入れると、その中が消える

PHP初心者です。

例えば、下記のように変数に文字を入れたいです。

$text = "aaa<bbb>";

そうすると、なぜか、<>の中身が消えてしまうのですが、
このような場合、どうしたら良いでしょうか?

echo $text; とすると、

aaa し表示されません。


試しに、

$text = "aaa<bbb>ccc";

とすると、aaaccc と表示されます。




ちなみに、mail()関数の中のheader要素を代入する際にこの問題にぶちあたっています。

smartyを使っています。※初期設定のみで何もしていません。

分る方がいましたら、ご助言いただけるとうれしいです。

投稿日時 - 2013-06-21 17:38:18

QNo.8143545

困ってます

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

echo で表示されないのは、
おそらくHTMLタグとしてブラウザに判断されてしまっているからかと思います。

右クリックからページのソースを見ていただくと、
<bbb>が出力されているのではないでしょうか・・・?


メールのヘッダで使用したいということですが、
$headers[] = "From: User <user@example.com>";
というような形でご指定いただければ、
画面への出力はないですので、
文字列の通りに設定されるかと思います。

デバッグでどうしても画面に出力したいということであれば、

echo htmlspecialchars("From: User <user@example.com>");

のように、htmlspecialcharsでタグの無効化をしていただければ出力されるかと思います。

投稿日時 - 2013-06-21 17:55:35

お礼

ありがとうございます!

まさにその通りでした。htmlで表示されなかっただけで、中身はしっかりと表示されていました。

投稿日時 - 2013-06-21 20:12:19

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問