在PHP中将变量插入字符串


Inserting a variable into a string in PHP

我将html变量放入php-var中,但它们没有正确转义,所以我有问题:谁能帮我?这里是代码:

$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>";
$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>';