2012-05-21 22 views
0

好吧我有一個if php命令的問題。PHP如果URL問題

{php} 
$searchloadpage = "/search/Car/"; 
$listingloadpage = "/listing/%"; 
$currentpage = $_SERVER['REQUEST_URI']; 
if($searchloadpage==$currentpage) { 
include('searchload.php'); 
} 
if($listingloadpage==$currentpage) { 
include('searchload.php'); 
} else { 

} 
{/php} 

現在的問題是你如何使它所以用$ listingloadpage =「/上市/ HERE」在這兒的一部分,我需要讓這個東西就是上市將採取後。

示例:/listing/1222.html或任何在/ listing /之後的東西會載入我的searchload.php文件。我認爲它被稱爲通配符代碼,其中php將認爲/列出/和此列表目錄後的任何東西。

希望很清楚。 :(

回答

1

您可以使用stristr

$listingloadpage = "/listing/"; 
if (stristr($currentpage, $listingloadpage) !== false) { 
    ... 

如果/listing/出現在任何地方的網址,將工作如果你需要在開始:

if (stristr($currentpage, $listingloadpage) === 0) { 

請注意,我已經刪除了%字符從你的字符串。

+0

你刻着ROCK的人!像魅力一樣工作。謝謝。 – MegaHertz

0

你應該使用正則表達式來驗證/listing/123.html,列出/ abc.html,列出/ abc ...

<?php 
    $searchloadpage = "/search/Car/"; 
    $listingloadpage = "/\/listing\/.+/"; 

    $currentpage = $_SERVER['REQUEST_URI']; 

    if($searchloadpage == $currentpage) { 
     include('searchload.php'); 

    } else if (preg_match($listingloadpage, $currentpage)) { 
     include('searchload.php'); 

    // something else 
    } else { 

    } 
?> 

並舉例說,如果你只是想/listing/123.html而不是/上市/ somethingelse,你會想:

$listingloadpage = "/\/listing\/[0-9]+\.html/";