백엔드 개발 PHP 튜토리얼 PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)_PHP

PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)_PHP

Jun 01, 2016 pm 12:08 PM
키워드 검색 엔진

最近遇到一个项目,客户需要一个功能,一个商品销售下单需要知道用户下单是从哪个途径来的,认为客服软件(53客服)和站长统计只能满足工作时间,及晚上下班和周六日休息,客服不在线,用户下单会不知道该订单的具体来源,所以嘛,又只能通过网站功能来增加一字段,获取来源关键字,如何获取来源关键字,代码发在下面,里面包含(百度、谷歌、雅虎、搜狗、搜搜、必应、有道)几大搜索引擎的获取方法,代码中均注明,希望对你有帮助,分享一下

代码如下:
复制代码 代码如下:
//获取来自搜索引擎入站时的关键词
function get_keyword($url,$kw_start)
{
$start=stripos($url,$kw_start);
$url=substr($url,$start+strlen($kw_start));
$start=stripos($url,'&');
if ($start>0)
{
$start=stripos($url,'&');
$s_s_keyword=substr($url,0,$start);
}
else
{
$s_s_keyword=substr($url,0);
}
return $s_s_keyword;
}

$url=isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'';//获取入站url。
$search_1="google.com"; //q= utf8
$search_2="baidu.com"; //wd= gbk
$search_3="yahoo.cn"; //q= utf8
$search_4="sogou.com"; //query= gbk
$search_5="soso.com"; //w= gbk
$search_6="bing.com"; //q= utf8
$search_7="youdao.com"; //q= utf8

$google=preg_match("/\b{$search_1}\b/",$url);//记录匹配情况,用于入站判断。
$baidu=preg_match("/\b{$search_2}\b/",$url);
$yahoo=preg_match("/\b{$search_3}\b/",$url);
$sogou=preg_match("/\b{$search_4}\b/",$url);
$soso=preg_match("/\b{$search_5}\b/",$url);
$bing=preg_match("/\b{$search_6}\b/",$url);
$youdao=preg_match("/\b{$search_7}\b/",$url);
$s_s_keyword="";
$bul=$_SERVER['HTTP_REFERER'];
//获取没参数域名
preg_match('@^(?:http://)?([^/]+)@i',$bul,$matches);
$burl=$matches[1];
//匹配域名设置
$curl="www.netxu.com";
if($burl!=$curl){
if ($google)
{//来自google
$s_s_keyword=get_keyword($url,'q=');//关键词前的字符为"q="。
$s_s_keyword=urldecode($s_s_keyword);
$urlname="谷歌:";
$_SESSION["urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
//$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
}
else if($baidu)
{//来自百度
$s_s_keyword=get_keyword($url,'wd=');//关键词前的字符为"wd="。
$s_s_keyword=urldecode($s_s_keyword);
$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
$urlname="百度:";
$_SESSION["urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
}
else if($yahoo)
{//来自雅虎
$s_s_keyword=get_keyword($url,'q=');//关键词前的字符为"q="。
$s_s_keyword=urldecode($s_s_keyword);
//$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
$urlname="雅虎:";
$_SESSION["urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
}
else if($sogou)
{//来自搜狗
$s_s_keyword=get_keyword($url,'query=');//关键词前的字符为"query="。
$s_s_keyword=urldecode($s_s_keyword);
$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
$urlname="搜狗:";
$_SESSION["urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
}
else if($soso)
{//来自搜搜
$s_s_keyword=get_keyword($url,'w=');//关键词前的字符为"w="。
$s_s_keyword=urldecode($s_s_keyword);
$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
$urlname="搜搜:";
$_SESSION["urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
}
else if($bing)
{//来自必应
$s_s_keyword=get_keyword($url,'q=');//关键词前的字符为"q="。
$s_s_keyword=urldecode($s_s_keyword);
//$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
$urlname="必应:";
$_SESSION["urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
}
else if($youdao)
{//来自有道
$s_s_keyword=get_keyword($url,'q=');//关键词前的字符为"q="。
$s_s_keyword=urldecode($s_s_keyword);
//$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
$urlname="有道:";
$_SESSION["urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
}
else{
$urlname=$burl;
$s_s_keyword="";
$_SESSION["urlname"]=$urlname;
$_SESSION["s_s_keyword"]=$s_s_keyword;
}
$s_urlname=$urlname;
$s_urlkey=$s_s_keyword;
}
else{
$s_urlname=$_SESSION["urlname"];
$s_urlkey=$_SESSION["s_s_keyword"];
}
?>

有一点要记住,由于各搜索引擎的页面编码不一样,有的是GBK,有的是UTF8,所以在获取时会有不同对字符编码的转换
转载请注明:http://www.netxu.com/program/12.html

下面是另外一个函数,也可以参考下
复制代码 代码如下:
$_SERVER['HTTP_REFERER']='http://www.baidu.com/s?wd=http://www.bitsCN.com';
echo save_www_iiwnet_com_keyword('http://www.baidu.com/s?wd=http://www.bitsCN.com','http://www.baidu.com/s?wd=http://www.bitsCN.com');
function save_www_iiwnet_com_keyword($domain,$path){
if(strpos($domain, 'google.com.tw')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){
$searchengine = 'GOOGLE TAIWAN';
$keywords = urldecode($regs[1]); // google taiwan
}
if(strpos($domain,'google.cn')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){
$searchengine = 'GOOGLE CHINA';
$keywords = urldecode($regs[1]); // google china
}
if(strpos($domain,'google.com')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){
$searchengine = 'GOOGLE';
$keywords = urldecode($regs[1]); // google
}elseif(strpos($domain,'baidu.')!==false && preg_match('/wd=([^&]*)/i',$path,$regs)){
$searchengine = 'BAIDU';
$keywords = urldecode($regs[1]); // baidu
}elseif(strpos($domain,'baidu.')!==false && preg_match('/word=([^&]*)/i',$path,$regs)){
$searchengine = 'BAIDU';
$keywords = urldecode($regs[1]); // baidu
}elseif(strpos($domain,'114.vnet.cn')!== false && preg_match('/kw=([^&]*)/i',$path,$regs)){
$searchengine = 'CT114';
$keywords = urldecode($regs[1]); // ct114
}elseif(strpos($domain,'iask.com')!==false && preg_match('/k=([^&]*)/i',$path,$regs)){
$searchengine = 'IASK';
$keywords = urldecode($regs[1]); // iask
}elseif(strpos($domain,'soso.com')!==false && preg_match('/w=([^&]*)/i',$path,$regs)){
$searchengine = 'SOSO';
$keywords = urldecode($regs[1]); // soso
}elseif(strpos($domain, 'sogou.com')!==false && preg_match('/query=([^&]*)/i',$path,$regs)){
$searchengine = 'SOGOU';
$keywords = urldecode($regs[1]); // sogou
}elseif(strpos($domain,'so.163.com')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){
$searchengine = 'NETEASE';
$keywords = urldecode($regs[1]); // netease
}elseif(strpos($domain,'yodao.com')!== false && preg_match('/q=([^&]*)/i',$path,$regs)){
$searchengine = 'YODAO';
$keywords = urldecode($regs[1]); // yodao
}elseif(strpos($domain,'zhongsou.com')!==false && preg_match('/word=([^&]*)/i',$path,$regs)){
$searchengine = 'ZHONGSOU';
$keywords = urldecode($regs[1]); // zhongsou
}elseif(strpos($domain,'search.tom.com')!==false && preg_match('/w=([^&]*)/i',$path,$regs)){
$searchengine = 'TOM';
$keywords = urldecode($regs[1]); // tom
}elseif(strpos($domain,'live.com')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){
$searchengine = 'MSLIVE';
$keywords = urldecode($regs[1]); // MSLIVE
}elseif(strpos($domain, 'tw.search.yahoo.com')!==false && preg_match('/p=([^&]*)/i',$path,$regs)){
$searchengine = 'YAHOO TAIWAN';
$keywords = urldecode($regs[1]); // yahoo taiwan
}elseif(strpos($domain,'cn.yahoo.')!==false && preg_match('/p=([^&]*)/i',$path,$regs)){
$searchengine = 'YAHOO CHINA';
$keywords = urldecode($regs[1]); // yahoo china
}elseif(strpos($domain,'yahoo.')!==false && preg_match('/p=([^&]*)/i',$path,$regs)){
$searchengine = 'YAHOO';
$keywords = urldecode($regs[1]); // yahoo
}elseif(strpos($domain,'msn.com.tw')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){
$searchengine = 'MSN TAIWAN';
$keywords = urldecode($regs[1]); // msn taiwan
}elseif(strpos($domain,'msn.com.cn')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){
$searchengine = 'MSN CHINA';
$keywords = urldecode($regs[1]); // msn china
}elseif(strpos($domain,'msn.com')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){
$searchengine = 'MSN';
$keywords = urldecode($regs[1]); // msn
}
return $keywords;
}

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

iPhone 및 iPad에서 검색 엔진을 변경하는 방법 iPhone 및 iPad에서 검색 엔진을 변경하는 방법 Apr 25, 2023 am 08:28 AM

iPhone이나 iPad의 Safari, Google Chrome 또는 기타 브라우저에서 검색 엔진을 쉽게 변경할 수 있습니다. 이 튜토리얼에서는 iPhone 및 iPad에서 사용할 수 있는 네 가지 웹 브라우저에서 이를 수행하는 방법을 보여줍니다. iPhone 또는 iPad에서 Safari 검색 엔진을 변경하는 방법 Safari는 iOS 및 iPadOS의 기본 웹 브라우저이지만 검색 엔진이 마음에 들지 않을 수 있습니다. 다행히 다음 단계에 따라 변경할 수 있습니다. iPhone 또는 iPad의 홈 화면에서 설정을 실행하세요. 아래로 스와이프하여 목록에서 Safari를 탭하세요. 다음 메뉴에서는

Baidu 클라우드 디스크 검색 엔진 입구 Baidu 클라우드 디스크 검색 엔진 입구 Feb 27, 2024 pm 01:00 PM

Baidu Cloud는 사용자가 많은 파일을 저장할 수 있는 소프트웨어입니다. 그러면 Baidu Cloud Disk 검색 엔진의 입구는 무엇입니까? 사용자는 URL https://pan.baidu.com을 입력하여 Baidu Cloud Disk에 들어갈 수 있습니다. Baidu Cloud Disk 검색 엔진에 대한 자세한 소개는 다음과 같습니다. . Baidu 클라우드 디스크 검색 엔진 입구 1. Qianfan 검색 웹사이트: https://pan.qianfan.app 지원 네트워크 디스크: 집계 검색, Alibaba, Baidu, Quark, Lanzuo, Tianyi, Xunlei 네트워크 디스크 보기 방법: 로그인 필요, 회사 팔로우 활성화 코드 획득의 장점: 네트워크 디스크는 포괄적이고 리소스가 많으며 인터페이스가 간단합니다. 2. Maolipansou 웹사이트: alipansou.c

Java 개발: 검색 엔진 및 전체 텍스트 검색 기능을 구현하는 방법 Java 개발: 검색 엔진 및 전체 텍스트 검색 기능을 구현하는 방법 Sep 21, 2023 pm 01:10 PM

Java 개발: 검색 엔진 및 전체 텍스트 검색 기능을 구현하는 방법, 특정 코드 예제가 필요합니다. 검색 엔진 및 전체 텍스트 검색은 현대 인터넷 시대에 중요한 기능입니다. 사용자가 원하는 것을 빠르게 찾을 수 있도록 도울 뿐만 아니라 웹사이트와 앱에 대한 더 나은 사용자 경험을 제공합니다. 이 기사에서는 Java를 사용하여 검색 엔진 및 전체 텍스트 검색 기능을 개발하는 방법을 소개하고 몇 가지 구체적인 코드 예제를 제공합니다. Lucene 라이브러리를 사용한 전체 텍스트 검색 Lucene은 ApacheSo에서 개발한 오픈 소스 전체 텍스트 검색 엔진 라이브러리입니다.

PHP 검색 엔진 성능 최적화: Algolia의 마법 같은 방법 PHP 검색 엔진 성능 최적화: Algolia의 마법 같은 방법 Jul 23, 2023 pm 04:21 PM

PHP 검색 엔진 성능 최적화: Algolia의 마법 같은 방법 인터넷이 발전하고 검색 경험에 대한 사용자 요구 사항이 증가함에 따라 검색 엔진 성능 최적화가 중요해졌습니다. PHP 개발 세계에서 Algolia는 강력하고 통합이 쉬운 검색 엔진 서비스입니다. 이 기사에서는 Algolia의 마법 같은 용도와 Algolia를 통해 PHP 검색 엔진의 성능을 최적화하는 방법을 소개합니다. Algolia 소개 Algolia는 SaaS 모델을 기반으로 한 검색 엔진 서비스 제공업체입니다.

C 언어에서 static 키워드의 역할과 사용법에 대한 심층 분석 C 언어에서 static 키워드의 역할과 사용법에 대한 심층 분석 Feb 20, 2024 pm 04:30 PM

C 언어에서 static 키워드의 역할과 사용법에 대한 심층 분석 C 언어에서 static은 함수, 변수 및 데이터 유형을 정의하는 데 사용할 수 있는 매우 중요한 키워드입니다. static 키워드를 사용하면 객체의 링크 속성, 범위, 생명주기가 변경될 수 있습니다. C 언어에서 static 키워드의 역할과 사용법을 자세히 분석해 보겠습니다. 정적 변수 및 함수: 함수 내에서 static 키워드를 사용하여 정의된 변수를 전역 수명 주기를 갖는 정적 변수라고 합니다.

인공지능 검색 분야에서는 구글과 마이크로소프트가 경쟁한다. 인공지능 검색 분야에서는 구글과 마이크로소프트가 경쟁한다. Apr 08, 2023 am 11:31 AM

ChatGPT는 작년 말 출시된 이후 전통적인 정보 검색 방식에 대한 주요 위협으로 여겨져 왔습니다. 다양하기 때문에 사람들의 질문에 답할 수도 있고, 에세이나 시를 쓸 수도 있고, 프로그램 코드를 작성할 수도 있습니다. 일관된 답변을 제공하는 대화형 AI의 능력은 수십 년 동안 사람들이 인터넷에서 정보를 검색하는 벤치마크 플랫폼이었던 Google 검색 엔진에 대한 위협으로 간주됩니다. OpenAI의 ChatGPT는 사용자가 묻는 특정 질문에 대한 답변을 맞춤화하여 웹사이트 탐색 시간을 절약할 수 있습니다. 지난 12월 The New York Times가 발표한 보고서에 따르면 ChatGPT의 하룻밤 성공으로 인해 Google은 이를 "코드 레드"라고 부르고 인공 지능 챗봇이 검색 엔진 비즈니스에 가하는 위협을 해결하기 시작했습니다. ~에 따르면

검색 엔진을 변경하기 위해 Chrome을 설정하는 방법은 무엇입니까? 브라우저에서 검색 엔진을 변경하는 방법은 무엇입니까? 검색 엔진을 변경하기 위해 Chrome을 설정하는 방법은 무엇입니까? 브라우저에서 검색 엔진을 변경하는 방법은 무엇입니까? Mar 15, 2024 pm 12:49 PM

Chrome에서 검색 엔진을 변경하는 방법은 무엇입니까? Google 크롬은 간단하고 사용하기 쉬운 서비스, 실용적인 도구 및 기타 보조 기능을 갖추고 있을 뿐만 아니라 일반적으로 Google을 기본으로 하는 다양한 사용자의 다양한 요구 사항을 충족할 수 있는 브라우저입니다. 교체하려면 어떻게 설정해야 하나요? 아래 방법을 공유해보겠습니다. 교체 방법 1. 클릭하여 Google Chrome을 엽니다. 2. 점 3개 아이콘을 클릭하여 메뉴 인터페이스를 엽니다. 3. 설정 옵션을 클릭하여 브라우저의 설정 인터페이스로 들어갑니다. 4. 설정 인터페이스에서 검색 엔진 모듈을 찾으세요. 5. 검색 엔진 관리 버튼을 클릭합니다. 6. 추가 버튼을 클릭하면 검색 엔진을 추가할 수 있습니다.​

PHP7.0에서 전체 텍스트 검색 엔진을 구현하는 방법은 무엇입니까? PHP7.0에서 전체 텍스트 검색 엔진을 구현하는 방법은 무엇입니까? May 26, 2023 pm 04:51 PM

정보화 시대가 계속 발전함에 따라 사람들은 정보를 얻기 위해 인터넷에 점점 더 의존하고 있습니다. 정보 공유 플랫폼 중 하나인 웹 검색 엔진 역시 끊임없이 진화하고 발전하고 있습니다. 이 기사에서는 PHP7.0에서 전체 텍스트 검색 엔진을 구현하는 방법을 소개하여 독자가 PHP 기술을 더 잘 활용하고 효율적인 검색 엔진을 신속하게 구축할 수 있도록 돕습니다. 1. 전체 텍스트 검색 엔진 개요 전체 텍스트 검색은 키워드나 구문을 사용하여 문서 전체를 검색하여 가장 일치하는 결과를 찾습니다. 전체 텍스트 검색 엔진은 알고리즘을 사용하여 문서를 색인화하여 검색 속도를 높입니다. 존재하다

See all articles