0

我已经成功跟踪了点击的来源,然后根据点击的来源让我的网站显示元素。一个代码示例是这样的:

$referer = $_SERVER['HTTP_REFERER'];

if ( $referer == "http://www.testdomain.com/testpage" ) {
echo '<div id="bgphotos"></div>';
} else {
    echo '<div id="bgvideos"></div>';
}

所以这告诉我的网站如果从http://www.testdomain.com/testpage点击它就显示 bgphotos div 。这很棒。我什至做了更多的编码来跟踪在网页中点击某些 div 的位置。但是,如果从类别中单击它,我想显示一个元素。

现在,我认为解决方案就是将 $referer 更改为类别网页。但问题是,当该类别的帖子超过一页时,您将不得不手动跟踪每个类别的页码......这将永远需要......一个例子是:

if ( $referer == "http://www.testdomain.com/category/test/" ) {
//do this }

if ( $referer == "http://www.testdomain.com/category/test/page/2/" ) {
//do this }

if ( $referer == "http://www.testdomain.com/category/test/page/3/" ) {
//do this }

if ( $referer == "http://www.testdomain.com/category/test/page/4/" ) {
//do this }

如您所见,这将失控,我将不得不跟踪每个可能的类别页面。那么有什么办法可以说,只是跟踪是否从某个类别中单击了某些内容?或者有没有其他解决这个问题的方法?

任何帮助将不胜感激!:) 大声笑。它真的会。

4

1 回答 1

0

正则表达式会起作用。

if( preg_match("(^http://www\.testdomain\.com/category/test/(?:page/\d+/)?$)",$referer)) {
    // do this
}
于 2012-11-15T19:38:20.520 回答