Dinamik olmak zorunda değilse, bunu şöyle yapabiliriz:
switch(true)
{
case stripos($_SERVER['REQUEST_URI'], 'garden'):
return 'garden';
break;
case stripos($_SERVER['REQUEST_URI'], 'construction'):
return 'construction';
break;
default:
return 'default';
break;
}
Yukarıdaki oldukça açık olduğunu. Daha kompakt bir çözüm olabilir
function getCategory($categories)
{
foreach($catgories as $category) {
if stripos($_SERVER['REQUEST_URI'], $category) {
return $category;
}
}
}
$categories = array('garden', 'construction', 'indoor');
echo getCategory($categories);
Bu size ilk vermeyecektir word /
sonra, ama sadece anahtar kelimeleriniz biri istenen URI olup olmadığını kontrol edin ve geri.
Ayrıca bu bileşenler içine URI bölünmüş ve path
bileşeni, örneğin üzerinde Dize işlevleri ile çalışmak için parse_url kullanabilirsiniz
$path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
www.example.com/garden-design.html?foo=bar
, bu size sadece bir kısmını vereceğini garden-design.html
. Sizin senaryoda muhtemelen hala bunun üzerine stripos yaparım, böylece sen de iyi yerine onu ayrıştırma URL doğrudan yapabilirsiniz.