我正在尝试包含一个包含HTML代码的php文件,并且在这个文件中我想要回显一些变量。让我给你看看我的代码:
这是我通过ajax在客户端调用的函数,以获得HTML结果:
public function generateHtmlModal($orderId){
$r = $this->getOrderData($orderId);
$html = file_get_contents(__DIR__ . "/../view/modal-order.php");
$html2 = "<h3>Order nº $r[order_id]</h3>";
return $html;
}
请注意,我创建$html2来测试和返回,而不是$html。这很好,它打印带有订单id的HTML。但我想在一个单独的文件中使用HTML标记,并将其加载到我的PHP函数中。这是一个带有HTML标记的PHP文件的例子,我想包括:
<!-- FILE MODAL-ORDER.PHP-->
<div id="orderModal" class="modal fade">
<div class="modal-body row">
<h3>Pedido nº <?php $r['id_pedido']?></h3>...
因此,基本上,我希望PHP只将文件包装在字符串变量$html中,并将:$r['idpedido']解释为函数中的$r变量。我尝试了一些不同的选项,比如包含php起始标签,但没有成功。
在这种情况下,这可能吗?
您可以通过使用ob_start()
、ob_get_contents()
和ob_end_clean()
:来实现这一点
<?php
public function generateHtmlModal($orderId)
{
ob_start();
$r = $this->getOrderData($orderId);
include(__DIR__ . "/../view/modal-order.php");
$html = ob_get_contents();
ob_end_clean();
return $html;
}
?>