我尝试获取当前网址,使用动态值修改网址中的几个字符串参数,然后重定向到该修改后的网址。
我已获取'location.href' : http://dev.azima.com/@mt.everest2017@/page-content/about-us/5
我尝试将最后两个参数(字符串)'about-us' and '5'
分别替换为$page->slug and $page->id
。
我尝试过字符串操作方法,但无法弄清楚问题。
答案 0 :(得分:0)
如果修复了URL模式,可以借助于explode / implode函数在PHP中实现。像这样:
$url = "http://dev.azima.com/@mt.everest2017@/page-content/about-us/5";
$url_arr = explode("//", $url);
$url_arr[count($url_arr) - 1] = $page->id;
$url_arr[count($url_arr) - 2] = $page->slug;
$url = implode("//", url_arr);
header("location:$url");
希望这有帮助。
答案 1 :(得分:0)
让我写下我对你想做的事情的理解:
如果没有用户交互,则可以不进行任何其他步骤。
但是你真的需要了解PHP是一种服务器端语言 Javascript是一种客户端语言。
您无法在没有任何AJAX调用的情况下将内容从JS传递到PHP。
<强>解决方案强>
基本上,你会这样做
<?php
/** YOUR PHP CODE WITH $_GET $_POST RETRIEVALS OR WHATEVER **/
$javascript = '(function() {
// your redirection
})();';
?><html>
<head>
</head>
<body>
Your HTML here
<script>
<?php echo $javascript; ?>
</script>
</body>
</html>
老实说,我宁愿考虑这种纯PHP的代码,更快更容易:
<?php
/** YOUR PHP CODE WITH $_GET $_POST RETRIEVALS OR WHATEVER **/
if(!empty($redirectIsNeeded)) {
header('Location: http://foo.bar');
}
?><html>
<head>
</head>
<body>
Your HTML here
</body>
</html>
如果不需要负载并且只想显示&#34;您还可以考虑URL栏中的正确URL,使用history.pushstate。