[PHP-users 31464] value属性への変数展開

mantalaw mantalaw @ yahoo.co.jp
2007年 2月 15日 (木) 14:57:09 JST


まんたろうと申します。

いろいろ調べたのですが、わからなかったので質問させてください.

やりたいこと
inputタグのvalue属性に変数展開した値を代入したい。


$a = 'this is a pen';

echo "<input type='text' value=".$a." />";

とすると、テキストボックスには最初の空白文字まで(this)しか表示され
ません。
$aを"$a"としても同じですが、"'$a'"とすると、すべての文字(this is a
pen)が表示されるようになります.

htmlspecialchars("'$a'")ではすべての文字が表示されますが、
htmlspecialchars("'$a'",ENT_QUOTES)とすると、thisしか表示されなく
なってしまいます(実際には'thisとなります)。
文字コードを指定しても同じでした。

その他のタグはどうかと思い確かめたところ、textareaタグでは問題ありま
せんでした。
echo "<textarea>".htmlspecialchars($a,ENT_QUOTES)."</textarea>";

いろいろ試行錯誤した結果、<文字と>文字の間の変数展開の問題と思うので
す、その他の箇所では問題なく空白文字が含まれた文字列をechoで表示でき
ています.

空白文字を含む文字をvalueに展開するのによいお知恵をお貸しいただけな
いでしょうか。



--------------------------------------
Start Yahoo! Auction now! Check out the cool campaign
http://pr.mail.yahoo.co.jp/auction/



PHP-users メーリングリストの案内