Php 如何删除url
嘿,伙计们,你们能告诉我如何去掉网站,只留下访问过的页面吗 我的代码:Php 如何删除url,php,preg-replace,Php,Preg Replace,嘿,伙计们,你们能告诉我如何去掉网站,只留下访问过的页面吗 我的代码: $url = preg_replace('/^www\./', '', parse_url($url['url'], PHP_URL_HOST)); 是否:http://domain.com 或http://www.domain.com 我需要它只给我它后面的东西 示例:index.php或index.php?setlang=en 提前谢谢 编辑: 以下是我当前用于获取URL的代码: //Pagina $from = $_
$url = preg_replace('/^www\./', '', parse_url($url['url'], PHP_URL_HOST));
是否:http://domain.com 或http://www.domain.com
我需要它只给我它后面的东西
示例:index.php或index.php?setlang=en
提前谢谢
编辑:
以下是我当前用于获取URL的代码:
//Pagina
$from = $_GET['pagina'];
if( !empty($from) )
{
$from = preg_replace('/^www\./', '', parse_url($from, PHP_URL_PATH));
}
$url = $DB->fetch(
"SELECT url FROM {$CONF['sql_prefix']}_sites WHERE username = '{$username}'",
__FILE__,
__LINE__
);
$url = preg_replace( '/^www\./', parse_url( $url['url'], PHP_URL_PATH ) );
if( !empty ($from ) && $from != $url )
{
insert('pagina', $from);
}
您已经在使用parse_url;再利用它怎么样
$path = parse_url($url, PHP_URL_PATH);
$query = parse_url($url, PHP_URL_QUERY);
$url = $path . ($query ? '?' . $query : '');
您告诉parse_url函数使用PHP_url_主机,它将始终返回您不想要的部分
我从未使用过此函数,但也许可以尝试:
$tmp = parse_url($url['url']);
$url = $tmp['path'] . "?" . $tmp['query'] . "#" . $tmp['fragment'];
相反,它应该返回您想要的块,不带任何正则表达式
从文档中:您已经在使用parse\u url,因此可以使用此数组获取信息:
$parsed_url = parse_url($url['url']);
$path = $parsed_url['path'].(isset($parsed_url['query']) ? '?'.$parsed_url['query'] : '');
你失踪了?在path和query.true之间,以及在query和fragment之间。Updatedi无法使用此选项,因为页面是从在上注册的网站插入数据库的mine@RaTza ? 你能改写一下吗?我不明白。路径是指在我的网站上注册的网站上访问的页面。这些路径被写入我的数据库并显示给注册的成员。我用路径替换了主机,仍然提供完整链接。我可以发布代码吗?使用PHP\u url\u路径解析\u url已经返回起始/。您的代码将返回//index.php?foo=bar//页面访问次数$from=$\u GET['pagevisit'];如果空$from$from=preg_替换“/^www./”,解析_url$from,PHP_url_PATH$url=$DB->从{$CONF['sql_prefix']}}站点中选择url,其中username='{$username}',文件,行$url=preg_替换“/^www./”,解析url$url['url'],PHP_url\u路径;如果空$from&&$from!=$url插入'pagevisit',$from;