网站实现搜索引擎来路语音播报

Mr.Bai 1,272 浏览 2

主要的PHP代码:

/**
 * 获取网站来路并分析
 * @author Xiaobai <[email protected]>
 * @time   2018年6月27日
 * @param  string $referers 自定义ua
 * @return strting/bool     输出获取到的来路
 */
function get_referer($referers=''){
    // 更改为自己的网址
    // 避免来路重复
    $localhost = 'www.xiaobaibk.com';
    /*获取网站来路*/
    $referer = $referers ? $referers : $_SERVER['HTTP_REFERER'];
    if(!$referer){
        return false;
    }

    /*获取网站host*/
    $str = parse_url($referer);
    if (!$str['host']||$str['host']==$localhost) {
        return false;
    }
    $url = $str['host'];

    /*关键词判断类型*/
    if(strpos($url,'baidu') !== false){
        $url_str = '百度搜索';
    }elseif (strpos($url,'sogou') !== false) {
        $url_str = '搜狗搜索';
    }elseif (strpos($url,'sm') !== false) {
        $url_str = '神马搜索';
    }elseif (strpos($url,'bing') !== false) {
        $url_str = '必应搜索';
    }elseif (strpos($url,'google') !== false) {
        $url_str = '谷歌搜索';
    }elseif (strpos($url,'so') !== false) {
        $url_str = '360搜索';
    }elseif (strpos($url,'easou') !== false) {
        $url_str = '宜搜搜索';
    }elseif (strpos($url,'yahoo') !== false) {
        $url_str = '雅虎搜索';
      }elseif (strpos($url,'xiaobaibk') !== false) {
        $url_str = '安全之家';
    }else{
        /*如果以上都找不到则使用来路域名并截取字数*/
        if (strlen($url)>5) $url_str=substr($url,0,10) . '...';
    }
    return $url_str;
}

百度的语音播报接口:

https://fanyi.baidu.com/gettts?spd=5&source=web&lan=zh&text=等于要发音的内容

PHP调用:

<?php echo get_referer();?>

以下用Js写的,不知道可不可以,你们试试看,实现的方法很多,自己写吧

<script>
  window.onload=function(){
  var audio=document.createElement('audio');
  var url="https://fanyi.baidu.com/gettts?spd=5&source=web&lan=zh&text="; 
  var str=url+"欢迎来自<?php echo get_referer();?>的朋友访问小白安全博客";
            audio.src=str;
            document.body.appendChild(audio);
    audio.play();
  }
</script>

发表评论 取消回复
表情 图片 链接 代码

  1. F鳥ゎy升哥
    F鳥ゎy升哥 Lv 1

    有个bug,站内打开也会播报

    • Mr.Bai
      Mr.Bai 站长

      @F鳥ゎy升哥@F鳥ゎy升哥:具体的代码还是需要你自己改的

分享
请选择语言