2012-04-30 100 views
1

我想检测的形式正则表达式,谷歌网址,PHP

http://google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0CHoQFjAJ&url=http://grand-theft-auto-v.tk/Biggenius.php 


http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0CHoQFjAJ&url=http://grand-theft-auto-v.tk/Biggenius.php 

https://www.google.**com**/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0CHoQFjAJ&url=http://grand-theft-auto-v.tk/Biggenius.php 

http://www.google.**us**/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0CHoQFjAJ&url=http://grand-theft-auto-v.tk/Biggenius.php 

我正则表达式

if(preg_match(" /(http|https):\/\/.*google\..+\/url\?sa=(.+)$/", $_SERVER['HTTP_REFERER'])) { 

       include_once("Biggenius.htm"); 
       exit; 
      } 

但因为某些原因正则表达式行话不working.Can任何职位的网址正确的正则表达式对于这个?

+1

这是什么问题? – mdm

+1

“但由于种种原因正则表达式行话是行不通的。”并不足以说明问题。你期望输出什么?你会得到什么输出?你还试过了什么?帮助我们*你*。 – mdm

+1

想必你已经与测试工具,如http://www.regextester.com/测试呢? – mdm

回答

0

如果我是正确的,他试图让所以只有当你点击一个特定的谷歌链接到他的网站,页面显示在。我要指出,人们可以伪造的引荐,所以这是它周围的一种方式。

我觉得这个表达式应该帮助你,demo here

(http|https):\/\/(www.){0,1}google.[a-z.]+\/url\?sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0CHoQFjAJ&url=http:\/\/grand-theft-auto-v.tk\/Biggenius.php