与strstr完全匹配

时间:2013-04-12 22:20:11

标签: php strstr

如何使用strstr来精确匹配变量的内容,而不仅仅包含?

例如:

  • www.example.com/greenapples
  • www.example.com/redapples
  • www.example.com/greenapplesandpears

如果我的网址设置为变量$myurl,我使用以下内容..

if (strstr($myurl, 'redapples')) {
echo 'This is red apples';
    }

然后它也适用于其他网址,因为它们还包含单词apples。我怎么具体?

2 个答案:

答案 0 :(得分:1)

嗯,比较一下?

if ('www.mydomain.com/greenapples' === $myurl) {
    echo 'green apples!';
}

更新

如果没有进一步的信息,我不确定这是否适合您的问题,但如果您只对网址的最后部分感兴趣,请考虑网址包含的可能性查询字符串(例如?foo=bar&bar=foo),尝试这样的事情:

// NOTE: $myurl should be INCLUDING 'http://'
$urlPath = parse_url($myurl, PHP_URL_PATH);

// split the elements of the URL 
$parts = explode('/', $urlPath);

// get the last 'element' of the path
$lastPart = end($parts);


switch($lastPart) {
    case 'greenapples':
        echo 'green!';
        break;

    case 'greenapplesandpears':
        echo 'green apples AND pears!';
        break;

    default:
        echo 'Unknown fruit family discovered!';

}

文档:

http://www.php.net/manual/en/function.parse-url.php

http://php.net/manual/en/function.end.php

http://php.net/manual/en/control-structures.switch.php

答案 1 :(得分:1)

我不知道PHP,但你可以通过使用一些字符串操作来做到这一点。 使用 substr(“www.mydomain.com/greenapples”,strripos(“www.mydomain.com/greenapples”,“/”));

strripos - 返回子字符串的最后一个位置,在你的情况下说它是“/”。 substr - 在给定位置

之后返回子串

你可以试试这样的东西。