スレッド表示 | フラット表示〕 全トピック 920 件中 899 番目 次≫ ≪前

htmlタグの属性とエスケープシーケンスについて

created: 2003-03-04 00:17 | modified: 2003-03-04 01:11 | reply: 2

[162] htmlタグの属性とエスケープシーケンスについて

user: p_decky | created: 2003-03-04 00:17
こんばんは
いつもお世話になってます。

早速ですが…
--------------
<?php
$color = "red";

echo "<body bgcolor=\" ".$color." \">\n";

--------------
と書いて背景色をコントロールしようとしたのですが全くうまくいかず、試しに".$color."を挟んでいる「\"」を消してみたら見事に成功。
背景が赤になりました。

こうやって「\"」がうまく働かなくなるのはやはりバージョンの違いによるものなのでしょうか。

ちなみにPHP4.3.0を使っています。
reply: 164 返信 編集 削除

[164] 半角スペース

user: ごいんきょ。 ホームページ | created: 2003-03-04 01:04
はじめまして
でしゃばってゆうじさんの変わりにお答えしてみます

> echo "<body bgcolor=\" ".$color." \">\n";

もしこのソースが正確なら、「".$color."」の前後にある半角スペースがじゃましてます

上記のスクリプトで出力される結果は
<body bgcolor=" red ">
となっているはずです
これをブラウザは「red」とみなしません
なぜ「\"」を削除したら意図どおりに赤くなったのかというと、
<body bgcolor=red>
と出力されるからです。

出力結果に「"」を残したまま問題を解決したいなら、「".$color."」の前後の半角スペースを削除するだけで可能ですよ

意図どおりに表示が行われないときは、出力されたHTMLソースを確認すると、記述ミスを発見しやすいですよ
Parent: 162  reply: 165 返信 編集 削除

[165] そうなんですかー。

user: p_decky | created: 2003-03-04 01:11
見やすくしようとうかつに半角スペースを打ったのが間違いだったのですね。納得。

最初に外部変数のところでつまづいてから
何かあると「バージョンのせい?」と疑心暗鬼にかかってるこのごろです。

ありがとうございました。
Parent: 164  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 899 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑