我正在尝试整理我的网址。我有一个 mod_rewrite 可以找到以 '.php?slug=[some+text]' 结尾的文件并替换为 '/[some+text]'。然而,这并不能让您在一个 url 中存储多个变量而不会使它看起来很乱。
我试图编写一个 php 脚本,它的 url 看起来像:
.php?slug=search/this+is+a+search/tags/php+sql/page/2
应该将其替换为
array(
'search'->'this is a search',
'tags'->'php sql',
'page'->2
);
我已经走到这一步了。
if(isset($_GET['slug'])&&$_GET['slug']!=''){
$url=$_GET['slug'];
$params=explode(DIRECTORY_SEPARATOR,$url);
print_r($params);
}
这将返回:
Array (
[0] => search
[1] => this is a search
[2] => tags
[3] => php sql
[4] => page
[5] => 2
)
如何将其转换为顶部的数组?有一个更好的方法吗?
我在玩耍后发现的一种方法是:
if(isset($_GET['slug'])&&$_GET['slug']!=''){
$url=$_GET['slug'];
$params=explode(DIRECTORY_SEPARATOR,$url);
$out=array();
$array_size = count($params);
for($i = 0; $i < $array_size; $i+=2)
{
$key=$params[$i];
$value=$params[$i+1];
$out[$key]=$value;
}
print_r($out);
}
这类作品。