我有一大堆重复的链接创建代码(<a href
)。我想创建一个函数来根据不同变量列表调用这段代码。
链接在表格内。我有大约15个链接几乎与下面的链接相同(唯一的区别是Make在这个例子中是'FORD'):
以下是重复的代码块:
<td>
<a href="<?php echo PopulateModel($CategoryId, 1); ?>">
<img src="images/brands/ford.gif" title="Click here if you have a Ford">
</a>
<center>
<a href="<?php echo PopulateModel($CategoryId, 1); ?>" class="make">FORD</a>
</center>
</td>
我想要创建的功能是接收一组不同型号的车辆,我想为每个车型创建一个链接。
我尝试在PHP中使用HEREDOC函数通过函数回显代码板,但似乎没有用。 echo语句中的PHP标记似乎给出了错误。
这是我的HEREDOC代码(不起作用):
function CreateBrandLink($brand_name){
echo <<<EOT
<td><a href="<?php echo PopulateModel($CategoryId, 1); ?>"><img src="images/brands/ford.gif" title="Click here if you have a Ford"></a>
<center><a href="<?php echo PopulateModel($CategoryId, 1); ?>" class="make">FORD</a></center></td>
</td>
EOT;
}
答案 0 :(得分:1)
function CreateBrandLink($brand_name){
$b = PopulateModel('a', 1);
$r = <<<EOT
<td>
<a href="$b">
<img src="images/brands/ford.gif" title="Click here if you have a Ford">
</a>
<center>
<a href="$b" class="make">FORD</a>
</center>
</td>
EOT;
return $r;
}
答案 1 :(得分:0)
您不能将<?php
块放在HEREDOC中。所以我们先解决这个问题......
function CreateBrandLink($brand_name){
$href = PopulateModel($CategoryId, 1);
echo <<<EOT
<td><a href="{$href}"><img src="images/brands/ford.gif" title="Click here if you have a Ford"></a>
<center><a href="{$href}" class="make">FORD</a></center></td>
</td>
EOT;
}
现在这仍然不起作用,因为当你调用$CategoryId
时你引用了PopulateModel()
,而实际上你的函数唯一的参数是$brand_name
。
我不太了解您的代码,知道如何纠正,但至少我们已经修复了语法问题。