好吧,我有一个函数可以绘制类似于网页上的标签的链接。基本上,我有一系列链接可用作选项卡,所有这些性质:
$aTabs[] = array("Mode" => "something", "Title" => "Something Else");
添加所有选项卡后,我想使用此功能打印它们:
function drawTabs($aTabs, $sFilename) {
global $iMode;
foreach ($aTabs as $aTab) {
$sClass = "Tab";
if ($iMode == $aTab["Mode"]) {
$sClass .= " CurTab";
}
echo "<a class=\"{$sClass}\" href=\"{$sFilename}?Mode={$aTab["Mode"]}\">{$aTab["Title"]}</a>\n";
}
}
所以这看起来一切都很好,花花公子。它工作得很好。
我还想在站点的另一部分使用它,它使用 URL 重写使事情看起来更整洁。在网站的那部分,输出需要是
echo "<a class=\"{$sClass}\" href=\"{$sFilename}/{$aTab["Mode"]}/\">{$aTab["Title"]}</a>\n";
我正在考虑添加一个字符串替换,它会做这样的事情:
str_replace("[mode]", $aTab["Mode"], $sFilename);
这样我就可以打电话
drawTabs($aTabs, "/some/place/on/my/site/[mode]/");
并且很可能添加一个条件,以便如果 $sFilename 中没有“[mode]”,它只会使用“?Mode=$aTab[“Mode”]'将其添加到末尾。
我的问题是,我的逻辑看起来是否正确,还是有一些更简单的方法可以做到这一点?