Вставка переменной в строку в PHP - PullRequest
0 голосов
/ 21 февраля 2012

Я помещаю 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 ]

2 голосов
/ 21 февраля 2012

Хм ... там несколько ошибок, но это должно работать:

<?php 
$var['foo'] = "<p>{$coord->name}</p><p>{$coord->address}</p><a href=\"" . site_url("info_hospital/$id") . "\">Details</a>";
1 голос
/ 21 февраля 2012
$var['foo'] = "<p>".$coord->name."</p><p>".$coord->address."</p><a href=".site_url($id).">Details</a>";

ура

0 голосов
/ 21 февраля 2012

Конкатенация обычно имеет небольшое преимущество в производительности по сравнению с двойными кавычками. Кроме того, в текстовых редакторах, которые выделяют синтаксис, переменные выделяются лучше.

$var['foo'] = '<p>' . $coord->name . '</p><p>' . $coord->address . '</p><a href="' . site_url('info_hospital/$id') . '">Details</a>';
0 голосов
/ 21 февраля 2012

Для работы с такими большими строками я предпочитаю использовать sprintf :

$var['foo'] = sprintf(
  '<p>%s</p><p>%s</p><a href="%s">Details</a>', 
  $coord->name, 
  $coord->address, 
  site_url($id)
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...