0

我正在使用这样的代码从入站链接中获取 URL:

$inbound_url = $_SERVER['HTTP_REFERER'];

//then do some stuff writing the url to a database table, but....
//ONLY IF the url doesn't already exist in the table

假设链接来自同一网站,同一网页,但仅在 www 不同。所以我得到了这个:1)http://www.mysite.com/page.html 2)http://mysite.com/page.html

这在我的表中出现了两次,因为一个有 www 而一个没有。

有没有办法解析 $_SERVER['HTTP_REFERER']; 的结果 要么:1)添加www。它丢失的地方,或者 2) 删除 ...http://...www 的所有内容。或 ..http://

一如既往地提前感谢。

4

2 回答 2

2

你当然可以。一些简单的字符串操作和替换应该是您www从任何 URL 中删除所需的全部 -

$inbound_url = str_replace('http://www','http://',$inbound_url);

如文档中所定义-

str_replace()- 用替换字符串替换所有出现的搜索字符串

请注意,我将 包括http://在搜索中,以便字符串www URL 的任何其他出现都保持不变。

于 2013-01-16T20:35:52.290 回答
1

用这个

$url = 'http://stackoverflow.com';
$d = array_shift( explode( '.', str_replace('www.', '', parse_url( $url, PHP_URL_HOST )) ) );
echo $d; //stackoverflow

或者你也可以使用

http://php.net/manual/en/function.parse-url.php函数

于 2013-01-16T20:35:48.990 回答