繁体   English   中英

使用$ _SERVER ['HTTP_REFERER'] ;,但修改为www

[英]Using $_SERVER['HTTP_REFERER'];, but modify for www

我正在使用类似这样的代码来从入站链接中获取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,一个人没有www。

有没有一种方法可以解析$ _SERVER ['HTTP_REFERER'];的结果; 可以:1)添加www。 缺少的地方,或者2)剥离... http://...www的所有内容。 或..http://

像往常一样先感谢。

你当然可以。 从任何网址中删除www只需要做一些简单的字符串操作和替换-

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

根据文档中的定义-

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

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

用这个

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

或者你也可以使用

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM