6

我有这样的事情:

<?php

$siteurl = "http://www.example.com/";

$pageid = "ed2689";

$pageurl = $siteurl.$pageid;

?>

链接将是这样的:

http://www.example.com/ed2689

http://www.example.com/report/ed2689

我使用 preg_match 来检查每个链接的格式

对于第一个链接,它必须完全像这样:

$siteurl.[a-z0-9]

我用过这个:

if (preg_match('/[$siteurl]+[a-z0-9]/', $pageurl) && !preg_match('/[=]|[?]/', $pageurl))
{
echo 'Ok',
}

对于第二个链接,它必须完全像这样:

$siteurl.'report/'.[a-z0-9]

我用过这个:

if (preg_match('/[$siteurl]+[report]+[a-z0-9]/', $req_uri) && !preg_match('/[=]|[?]/', $req_uri))
{
echo 'Ok',
}

它不能正常工作..有什么帮助吗?

谢谢。

4

1 回答 1

2

如果不起作用,请告诉我

<?php
    $siteurl = 'http://www.example.com/report/ed2689';
    //$siteurl = 'http://www.example.com/ed2689';
    if(strpos($siteurl,'www.example.com') === false) echo 'not my site';
    else {
        $arr = explode('www.example.com/',$siteurl);
        $suburl = trim($arr[1]);
        if (preg_match('/^[a-z0-9]+$/', $suburl) || preg_match('/^report\/[a-z0-9]+$/', $suburl))
        {
        echo 'ok';
        }
    }

?>
于 2013-03-24T03:30:06.920 回答