从 db 我得到一个包含 php 变量名称的字符串,如 'hello $name' ,我不知道如何正确显示它:例如:假设我有函数显示名称:function echoName($name){ //call to db to get string (hello $name) $helloname = $row['helName']; echo $helloname; //lets say name = jinko it should print hello jinko //but it prints hello $name // i have tried "$helloname"; it doesn't work}在我的例子中,数据库包含:Il tuo codice di prenotazione è $codicePrenotazione<br>Ricordiamo la data : $newDate我的功能代码:function sendEmail($cognome,$nome,$email,$codicePrenotazione,$date){ require './dbconnection.php'; $mail = new PHPMailer(true); $query = 'SELECT Azienda_Nome,Azienda_email_notifiche_smtp,Azienda_email_notifiche_utente ,Azienda_email_notifiche_pwd,Azienda_email_notifiche_porta,Azienda_email_notifiche_sicurezza ,Azienda_mex_utente FROM `aziende`'; $stmt =$conn->query($query); $stmt->execute(); $row = $stmt->fetch(); $siteOwnersEmail = $row['Azienda_email_notifiche_utente']; $smtp =$row['Azienda_email_notifiche_smtp']; $password =$row['Azienda_email_notifiche_pwd']; $porta=strtolower( $row['Azienda_email_notifiche_porta']); $sicurezza=strtolower( $row['Azienda_email_notifiche_sicurezza']); $contact_message = $row['Azienda_mex_utente'];//this line contains the string $nomeAzienda = $row['Azienda_Nome']; $conn = null; $newDate = date("d-m-Y H:i", strtotime($date)); $name = $nome.' '.$cognome; $email = $email; $subject = 'Codice Prenotazione';//etc etc }
2 回答
皈依舞
TA贡献1851条经验 获得超3个赞
你最好使用类似的东西sprintf
。
例如,如果你的数据库中有这个:
Hello, your name is %s
你可以像这样格式化它:
echo sprintf($row["heName"], "Test");
这将输出:
Hello, your name is Test
如果你真的想使用 PHP 风格的变量名,一种方法是用preg_replace_callback
它们各自的值替换变量:
<?php
function format_string($string, $variables) {
return preg_replace_callback("~\\$([A-Za-z0-9-_]+)~",
function($match) use (&$variables) {
$varname = $match[1];
return $variables[$varname];
}, $string);
}
echo format_string("Hello \$user", /* variable table */ [
"user" => "Test"
]);
12345678_0001
TA贡献1802条经验 获得超5个赞
您可以使用评估...
$name = "jinko";
$helloname = "hello $name";
eval("\$helloname = \"$helloname\";");
echo $helloname; // prints: hello jinko
警告:这可能很危险,因为 eval 会“执行”任何 PHP 代码。因此,仅当来自数据库的数据安全时才使用它。
- 2 回答
- 0 关注
- 101 浏览
添加回答
举报
0/150
提交
取消