我们的网站有两种语言版本,捷克语和英语。我们在每个页面的右上角(在header.php中)有一个简单的标志,它指向捷克语索引的index_cz.php和所有页面的英语索引的index.php,而不管当前的URL。
<a href="index_cz.php" target="_self"><img src="img/Czech-icon.png" width="64" height="64" alt="Czech language version"></a>
<a href="index.php" target="_self"><img src="img/United-Kingdom-icon.png" width="64" height="64" alt="English language version">
我希望使用PHP更复杂,根据当前页面URL的内容更改按钮的URL。 例如:如果当前页面是'new.php'我希望捷克按钮现在指向'new_cz.php'而英文按钮指向'new.php'。
包含?id = 结尾的页面(无论哪个ID与该页面相关联)都使用单独的header.php并引用数据库中的相应ID,例如:
<a href="project_cz.php?id=<?php echo $det[0];?>" target="_self"><img src="img/Czech-icon.png" width="64" height="64" alt="Czech language version"></a>
<a href="project.php?id=<?php echo $det[0];?>" target="_self"><img src="img/United-Kingdom-icon.png" width="64" height="64" alt="English language version"></a>
您能想到处理标准php页面的相应代码吗?非常感谢!
答案 0 :(得分:2)
您可以使用$_SERVER['PHP_SELF']
访问当前文件,但请确保在回复之前运行htmlspecialchars
以防止XSS攻击。
那就是说,你可以str_replace当前文件来获得捷克语版本:
str_replace('.', '_cz.', $_SERVER['PHP_SELF'])
另一种方式也很简单:
str_replace('_cz.', '.', $_SERVER['PHP_SELF'])