在PHP中将变量插入到字符串中

时间:2012-02-21 13:10:18

标签: php escaping

我把html变量放在php var中,但它们没有正确转义所以我有问题:谁可以帮助我?这里是代码:

$var['foo'] = "<p>$coord->name</p><p>$coord->address</p><a href=\"<?php echo site_url('info_hospital/$id'); ?>\">Details</a>";

哪里有问题?

4 个答案:

答案 0 :(得分:2)

嗯...那里有几个错误,但这应该有效:

<?php 
$var['foo'] = "<p>{$coord->name}</p><p>{$coord->address}</p><a href=\"" . site_url("info_hospital/$id") . "\">Details</a>";

答案 1 :(得分:1)

$var['foo'] = "<p>".$coord->name."</p><p>".$coord->address."</p><a href=".site_url($id).">Details</a>";

欢呼声

答案 2 :(得分:0)

对于处理如此大的字符串,我赞成使用sprintf

$var['foo'] = sprintf(
  '<p>%s</p><p>%s</p><a href="%s">Details</a>', 
  $coord->name, 
  $coord->address, 
  site_url($id)
);

答案 3 :(得分:0)

与双引号相比,连接通常具有较小的性能优势。此外,在突出语法的文本编辑器中,变量更加突出。

$var['foo'] = '<p>' . $coord->name . '</p><p>' . $coord->address . '</p><a href="' . site_url('info_hospital/$id') . '">Details</a>';