我正在尝试从Google,Bing和Yahoo等搜索引擎获取查询字符串,以将其存储在我的数据库中,并在该特定页面上显示用于在搜索引擎中获取我的网站的关键字。
我检查了PHP的每个全局变量($ _SERVER,$ _ REQUEST,$ _ POST,$ _ GET,$ _ GLOBAL和$ _COOKIE),但是找不到所需的数据。
我要在“ {https://www.bing.com/search?q=bill+hicks+sporting+goods+wholesale&qs=n&form=QBLH&sp=-1&pq=bill+hicks+sporting+goods+wholesale&sc=2-35&sk=&cvid=9E5D9E7C0B5B4740A42B5758CCE510D0”中添加“帐单+臀部+体育+商品+批发”
以下代码之前曾起作用,但现在所有搜索引擎都已停止在HTTP_REFERER中发送查询字符串。
function get_search_query() {
$ref_keywords = '';
// Get the referrer to the page
$referrer = $_SERVER['HTTP_REFERER'];
if (!empty($referrer))
{
//Parse the referrer URL
$parts_url = parse_url($referrer);
// Check if a query string exists
$query = isset($parts_url['query']) ? $parts_url['query'] : '';
if($query)
{
// Convert the query string into array
parse_str($query, $parts_query);
// Check if the parameters 'q' or 'query' exists, and if exists that is our search query terms.
$ref_keywords = isset($parts_query['q']) ? $parts_query['q'] : (isset($parts_query['query']) ? $parts_query['query'] : '' );
}
}
return $ref_keywords;
}
来自https://www.virendrachandak.com/techtalk/get-search-query-string-from-search-engines-using-php/的代码