0

好的,我对 if php 命令有疑问。

{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 = "/listing/HERE" 来制作我需要制作的 HERE 部分,以便列出之后的任何内容。

示例:/listing/1222.html 或 /listing/ 之后的任何内容都会加载我的 searchload.php 文件。我认为它被称为通配符代码,php 会认为 /listing/ 以及此列表目录之后的任何内容。

希望这很清楚。:(

4

2 回答 2

1

您可以使用stristr

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

/listing/如果出现在 url 中的任何位置,这将起作用。如果您一开始就需要它:

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

请注意,我%已从您的字符串中删除了该字符。

于 2012-05-21T17:52:02.193 回答
0

您应该使用正则表达式来验证 /listing/123.html、listing/abc.html、listing/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 而不是 /listing/somethingelse,你会想要:

$listingloadpage = "/\/listing\/[0-9]+\.html/";
于 2012-05-21T17:58:28.877 回答