PHP変数の中にhtml変数を入れていますが、正しくエスケープされていないので問題があります。誰が助けてくれますか?ここにそれはコードです:PHPの文字列に変数を挿入する
$var['foo'] = "<p>$coord->name</p><p>$coord->address</p><a href=\"<?php echo site_url('info_hospital/$id'); ?>\">Details</a>";
どこが問題ですか?
PHP変数の中にhtml変数を入れていますが、正しくエスケープされていないので問題があります。誰が助けてくれますか?ここにそれはコードです:PHPの文字列に変数を挿入する
$var['foo'] = "<p>$coord->name</p><p>$coord->address</p><a href=\"<?php echo site_url('info_hospital/$id'); ?>\">Details</a>";
どこが問題ですか?
うーん...そこにいくつかのエラーが、これは動作するはずです。このような大規模な文字列を扱うために
<?php
$var['foo'] = "<p>{$coord->name}</p><p>{$coord->address}</p><a href=\"" . site_url("info_hospital/$id") . "\">Details</a>";
残念ながら、うまくいきません... hrefが正しくエスケープされていません –
'site_url()'関数によって返された文字列が正しくエスケープされていないことを意味しますか?もしそうなら、それはまったく異なる問題ですが、おそらく 'urlencode()'で解くべきです。 – powerbuoy
@powerbuoy ...ええ、exctaly ...それは正しくエスケープされていません... –
$var['foo'] = "<p>".$coord->name."</p><p>".$coord->address."</p><a href=".site_url($id).">Details</a>";
歓声
を、私はsprintfを使用して好む:
$var['foo'] = sprintf(
'<p>%s</p><p>%s</p><a href="%s">Details</a>',
$coord->name,
$coord->address,
site_url($id)
);
コンカチネーションは、通常、二重引用符に比べて小さなパフォーマンス上の利点があります。また、構文を強調するテキストエディタでは、変数が優れています。
$var['foo'] = '<p>' . $coord->name . '</p><p>' . $coord->address . '</p><a href="' . site_url('info_hospital/$id') . '">Details</a>';
これはどのように行われたのでしょうか。 http://php.net/manual/en/language.operators.string.phpを参照してください。 –
正確には機能しません。そのPHPブロックが文字列で実行されないことをご存知ですか? – alex
はい、このブロックは展開されていません。だから私はそれが正しくエスケープされていないと思う... –