如何将PHP变量作为文本插入到HTML段落内容中?
问题原因
- 你的HTML段落中的PHP变量和函数没有用
<?php ?>标签包裹,服务端会将其识别为普通字符串直接输出,不会执行解析 - 写法
$.number_format($totalCost, 2)存在语法错误,前面多了多余的$符号
正确实现方案
方案1:HTML中嵌入PHP标签(混写场景)
适用于PHP逻辑和前端HTML分离书写的场景,直接在需要输出变量的位置插入PHP输出语句即可:
<?php $name = $_POST['name']; $phone = $_POST['phone']; $totalCost = $_POST['totalCost']; $subtotal = $_POST['subtotal']; ?> <p>Thank you (<?php echo $name; ?>) at (<?php echo $phone; ?>). Details of your total cost of $<?php echo number_format($totalCost, 2); ?> are shown below:</p>
如果你的服务端开启了PHP短标签支持,可以用更简洁的写法:
<p>Thank you (<?= $name ?>) at (<?= $phone ?>). Details of your total cost of $<?= number_format($totalCost, 2) ?> are shown below:</p>
方案2:PHP拼接输出HTML(纯PHP代码块场景)
如果这段HTML需要在PHP代码块中输出,用字符串拼接变量即可:
<?php $name = $_POST['name']; $phone = $_POST['phone']; $totalCost = $_POST['totalCost']; $subtotal = $_POST['subtotal']; echo '<p>Thank you (' . $name . ') at (' . $phone . '). Details of your total cost of $' . number_format($totalCost, 2) . ' are shown below:</p>'; ?>
安全提示
直接输出用户提交的$_POST内容存在XSS跨站脚本攻击风险,建议输出前用htmlspecialchars()函数处理变量,示例:
<?php echo htmlspecialchars($name); ?>
内容的提问来源于stack exchange,提问作者Caleb
相关产品推荐
相关产品推荐

