变量中包含HTML代码的PHP代码

3
我想在HTML中添加PHP代码到变量中,例如:
$html = '<b></b> <?php echo $lang["text"] ?>';

但它不能解释 PHP 代码。我做错了什么?
6个回答

6

使用如下的字符串拼接方法:

$html = '<b></b>' . $lang['text'];

或者在双引号字符串中插入变量,像这样:
$html = "<b></b>${lang['text']}";

两个版本都是正确的,使用你喜欢的那个。


5
你想要的是字符串插值(详见PHP官方文档)。
你需要使用以下代码解决你的问题:
$html = "<b></b> {$lang['text']}";

字符串插值只在双引号字符串("这里是字符串")中发生。


3

在处理输出时进行转义非常重要(安全基础知识)。

$html = sprintf('<b>%s</b>', htmlspecialchars($lang['text']));

2

当您已经处于“运行PHP代码模式”时,您不能在字符串中间从“输出原始文本模式”切换到“运行PHP代码模式”

$html = "<b></b> ${lang['text']}";

尽管我不知道为什么你需要一个空的加粗元素。


2
根据问题,这个答案可能不是发帖者能理解的。在我看来,这只是一条评论而不是答案。 - Sherlock

2
<?php

$html = '<b>'.$lang['text'].'</b>';

?>

-5

请确保文件扩展名为php。

<?php
     $html = '<b>' . $lang["text"] . '</b>';
?>

5
我认为这比实际问题还更糟糕。 - Mihai Iorga

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接