如何使用strstr
来精确匹配变量的内容,而不仅仅包含?
例如:
www.example.com/greenapples
www.example.com/redapples
www.example.com/greenapplesandpears
如果我的网址设置为变量$myurl
,我使用以下内容..
if (strstr($myurl, 'redapples')) {
echo 'This is red apples';
}
然后它也适用于其他网址,因为它们还包含单词apples。我怎么具体?
答案 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
答案 1 :(得分:1)
我不知道PHP,但你可以通过使用一些字符串操作来做到这一点。 使用 substr(“www.mydomain.com/greenapples”,strripos(“www.mydomain.com/greenapples”,“/”));
strripos - 返回子字符串的最后一个位置,在你的情况下说它是“/”。 substr - 在给定位置
之后返回子串你可以试试这样的东西。