PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)_PHP
最近遇到一个项目,客户需要一个功能,一个商品销售下单需要知道用户下单是从哪个途径来的,认为客服软件(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;
}

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Mudah untuk menukar enjin carian dalam Safari, Google Chrome atau penyemak imbas lain pada iPhone atau iPad anda. Tutorial ini akan menunjukkan kepada anda cara melakukannya pada empat pelayar web berbeza yang tersedia pada iPhone dan iPad. Cara Menukar Enjin Carian Safari pada iPhone atau iPad Safari ialah penyemak imbas web lalai pada iOS dan iPadOS, tetapi anda mungkin tidak menyukai enjin carian tersebut. Nasib baik, anda boleh menggunakan langkah ini untuk menukarnya: Pada iPhone atau iPad anda, lancarkan Tetapan daripada skrin Utama. Leret ke bawah dan ketik Safari daripada senarai. Dalam menu seterusnya,

Baidu Cloud ialah perisian yang membolehkan pengguna menyimpan banyak fail Jadi apakah pintu masuk ke enjin carian Baidu Cloud Disk? Pengguna boleh memasukkan URL https://pan.baidu.com untuk memasuki Baidu Cloud Disk Perkongsian pintu masuk terbaru ke enjin carian Baidu Cloud Disk ini akan memberi anda pengenalan terperinci. . Pintu masuk enjin carian cakera awan Baidu 1. Laman web carian Qianfan: https://pan.qianfan.app Menyokong cakera rangkaian: carian agregat, Alibaba, Baidu, Quark, Lanzuo, Tianyi, kaedah paparan cakera rangkaian Xunlei: log masuk diperlukan, ikut syarikat Kelebihan mendapatkan kod pengaktifan: Cakera rangkaian adalah komprehensif, terdapat banyak sumber, dan antara muka adalah mudah. 2. Laman web Maolipansou: alipansou.c

Pembangunan Java: Bagaimana untuk melaksanakan enjin carian dan fungsi mendapatkan semula teks penuh, contoh kod khusus diperlukan Enjin carian dan mendapatkan semula teks penuh adalah fungsi penting dalam era Internet moden. Mereka bukan sahaja membantu pengguna mencari perkara yang mereka inginkan dengan cepat, mereka juga menyediakan pengalaman pengguna yang lebih baik untuk tapak web dan apl. Artikel ini akan memperkenalkan cara menggunakan Java untuk membangunkan enjin carian dan fungsi perolehan teks penuh, dan menyediakan beberapa contoh kod khusus. Carian teks penuh menggunakan perpustakaan Lucene Lucene ialah perpustakaan enjin carian teks penuh sumber terbuka, dibangunkan oleh ApacheSo

Pengoptimuman Prestasi Enjin Carian PHP: Cara Ajaib Algolia Dengan pembangunan Internet dan keperluan pengguna yang semakin meningkat untuk pengalaman carian, pengoptimuman prestasi enjin carian telah menjadi penting. Dalam dunia pembangunan PHP, Algolia ialah perkhidmatan enjin carian yang berkuasa dan mudah disepadukan. Artikel ini akan memperkenalkan kegunaan ajaib Algolia dan cara mengoptimumkan prestasi enjin carian PHP melalui Algolia. Pengenalan Algolia Algolia ialah pembekal perkhidmatan enjin carian berdasarkan model SaaS.

Sejak dilancarkan lewat tahun lepas, ChatGPT telah dilihat sebagai ancaman utama kepada cara tradisional mencari maklumat. Kerana ia adalah pelbagai, anda boleh menjawab soalan orang, menulis esei atau puisi, atau menulis kod program. Keupayaan AI perbualan untuk memberikan jawapan yang koheren dianggap sebagai ancaman kepada enjin carian Google, yang selama beberapa dekad telah menjadi platform penanda aras untuk orang ramai mencari maklumat di Internet. ChatGPT OpenAI boleh menyesuaikan jawapan kepada soalan khusus yang ditanya oleh pengguna, yang boleh menjimatkan masa melayari tapak web. Laporan New York Times yang diterbitkan pada bulan Disember mendedahkan bahawa kejayaan semalaman ChatGPT memaksa Google memanggilnya "Kod Merah" dan mula menangani ancaman yang ditimbulkan oleh chatbot kecerdasan buatan kepada perniagaan enjin cariannya. mengikut

Analisis mendalam tentang peranan dan penggunaan kata kunci statik dalam bahasa C Dalam bahasa C, statik ialah kata kunci yang sangat penting, yang boleh digunakan dalam definisi fungsi, pembolehubah dan jenis data. Menggunakan kata kunci statik boleh menukar atribut pautan, skop dan kitaran hayat objek Mari analisa peranan dan penggunaan kata kunci statik dalam bahasa C secara terperinci. Pembolehubah statik dan fungsi: Pembolehubah yang ditakrifkan menggunakan kata kunci statik di dalam fungsi dipanggil pembolehubah statik, yang mempunyai kitaran hayat global

Bagaimana untuk menukar enjin carian dalam Google Chrome? Google Chrome ialah penyemak imbas yang sangat popular di kalangan pengguna Ia bukan sahaja mempunyai perkhidmatan yang ringkas dan mudah digunakan, alatan praktikal dan fungsi tambahan yang lain, tetapi juga boleh memenuhi keperluan pengguna yang berbeza secara default kepada Google mahu Bagaimana saya perlu menyediakannya untuk menggantikannya? Jom saya kongsikan caranya di bawah. Kaedah penggantian 1. Klik untuk membuka Google Chrome. 2. Klik ikon tiga titik untuk membuka antara muka menu. 3. Klik pilihan Tetapan untuk memasuki antara muka tetapan penyemak imbas. 4. Cari modul enjin carian dalam antara muka tetapan. 5. Klik butang Urus Enjin Carian. 6. Anda boleh melihat butang tambah Klik butang tambah ini untuk menambah enjin carian. ,

Google Chrome sangat bagus. Terdapat ramai rakan yang menggunakannya. Ramai rakan ingin menggunakan enjin carian Google sendiri, tetapi tidak tahu cara menggunakannya. Cara menggunakan enjin carian Google dalam Google Chrome: 1. Buka Google Chrome dan klik Lagi di penjuru kanan sebelah atas untuk membuka tetapan. 2. Selepas memasukkan tetapan, klik "Enjin Carian" di sebelah kiri. 3. Semak sama ada enjin carian anda ialah "Google". 4. Jika tidak, anda boleh mengklik butang lungsur dan menukarnya kepada "Google".
