我有这样的事情:

<?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',
}

并且它不能正常工作..任何帮助,请吗?

谢谢。

最佳答案

让我知道是否有效

<?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';
        }
    }

?>

09-07 17:31