我是php新手并尝试根据用户网址返回true / false。 (在drupal中使用它) 例如,如果用户位于:
http://www.example.com/training我希望它返回真实
http://www.example.com/training/home我希望它返回真实
http://www.example.com/browse/training/results/ *我希望它返回真实
对于其他任何事情,虽然我想要它是假的。
http://www.example.com/training/backpacking我希望它返回false。
我的第一个PHP脚本有一个bug ...去图。无论如何,它并没有显示在任何不受训练的情况下,但它确实显示在不需要的训练子区域。
global $language;
$curr_uri = check_plain(request_uri());
if ($language->language == 'en')
if (basename(dirname($curr_uri)) == 'training')
return TRUE;
else
return FALSE;
else
return FALSE;
我理解需要完成的事情的概念。我想检查三个特定的uri,而不是显示在其他任何东西上。我也尝试过:
global $language;
$curr_uri = check_plain(request_uri());
if ($language->language == 'en')
if ($curr_uri == '/training/home')
return TRUE;
else
return FALSE;
else
return FALSE;
Adnan ......我不确定你的编辑是什么,但我发现了一个拼写错误,它现在正在使用此代码:
<?php
global $language;
$curr_uri = check_plain(request_uri());
if ( $language->language == 'en')
if($curr_uri == '/training/home' || $curr_uri == '/browse/training/results' )
return TRUE;
else
return FALSE;
else
return FALSE;
?>
答案 0 :(得分:2)
$pairs = array( array('training'),
array('training','home'),
array('browse','training','results'));
$urls = explode('/',$_SERVER['REQUEST_URI']);
foreach($pairs as $pair){
if ( !empty(array_diff($pair,$urls)) )
return true;
}
return false;