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

Mr.Bai 1,274 浏览 2

主要的PHP代码:

Source Code
  1. /**
  2. * 获取网站来路并分析
  3. * @author Xiaobai <admin@xiaobaibk.com>
  4. * @time 2018年6月27日
  5. * @param string $referers 自定义ua
  6. * @return strting/bool 输出获取到的来路
  7. */
  8. function get_referer($referers=''){
  9. // 更改为自己的网址
  10. // 避免来路重复
  11. $localhost = 'www.xiaobaibk.com';
  12. /*获取网站来路*/
  13. $referer = $referers ? $referers : $_SERVER['HTTP_REFERER'];
  14. if(!$referer){
  15. return false;
  16. }
  17.  
  18. /*获取网站host*/
  19. $str = parse_url($referer);
  20. if (!$str['host']||$str['host']==$localhost) {
  21. return false;
  22. }
  23. $url = $str['host'];
  24.  
  25. /*关键词判断类型*/
  26. if(strpos($url,'baidu') !== false){
  27. $url_str = '百度搜索';
  28. }elseif (strpos($url,'sogou') !== false) {
  29. $url_str = '搜狗搜索';
  30. }elseif (strpos($url,'sm') !== false) {
  31. $url_str = '神马搜索';
  32. }elseif (strpos($url,'bing') !== false) {
  33. $url_str = '必应搜索';
  34. }elseif (strpos($url,'google') !== false) {
  35. $url_str = '谷歌搜索';
  36. }elseif (strpos($url,'so') !== false) {
  37. $url_str = '360搜索';
  38. }elseif (strpos($url,'easou') !== false) {
  39. $url_str = '宜搜搜索';
  40. }elseif (strpos($url,'yahoo') !== false) {
  41. $url_str = '雅虎搜索';
  42. }elseif (strpos($url,'xiaobaibk') !== false) {
  43. $url_str = '安全之家';
  44. }else{
  45. /*如果以上都找不到则使用来路域名并截取字数*/
  46. if (strlen($url)>5) $url_str=substr($url,0,10) . '...';
  47. }
  48. return $url_str;
  49. }
  50.  
复制 文本 高亮

百度的语音播报接口:

Source Code
  1. https://fanyi.baidu.com/gettts?spd=5&source=web&lan=zh&text=等于要发音的内容
复制 文本 高亮

PHP调用:

Source Code
  1. <?php echo get_referer();?>
复制 文本 高亮

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

Source Code
  1. <script>
  2. window.onload=function(){
  3. var audio=document.createElement('audio');
  4. var url="https://fanyi.baidu.com/gettts?spd=5&source=web&lan=zh&text=";
  5. var str=url+"欢迎来自<?php echo get_referer();?>的朋友访问小白安全博客";
  6. audio.src=str;
  7. document.body.appendChild(audio);
  8. audio.play();
  9. }
  10. </script>
复制 文本 高亮

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

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

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

    • Mr.Bai
      Mr.Bai 站长

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

分享