使用PHP检查URL中的多个字符串
我试图在我的网站的某些页面上隐藏导航栏上的链接。我有一个可用于一个页面的系统,但当我尝试向if语句添加多个字符串时,它不起作用。有人能就如何解决这个问题提供建议吗 在一页上隐藏链接的工作语句:使用PHP检查URL中的多个字符串,php,Php,我试图在我的网站的某些页面上隐藏导航栏上的链接。我有一个可用于一个页面的系统,但当我尝试向if语句添加多个字符串时,它不起作用。有人能就如何解决这个问题提供建议吗 在一页上隐藏链接的工作语句: <?php $url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; if (strpos($url, 'terms-of-use') !== false) { } else {
<?php
$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if (strpos($url, 'terms-of-use') !== false) {
}
else {
echo '<li class="nav-item"><a class="nav-link" href="'. basename($_SERVER['PHP_SELF']) .'" title="Contact Us">Contact Us</a></li>';
}
?>
这也应该起作用:
$needles = array('terms-of-use', 'case-studies', 'cookie-policy', 'privacy-policy');
foreach($needles as $what) {
if(($pos = strpos($url, $what)) !==false ) {
return true;
}
return false;
}要检查一个字符串包含的多个值,可以使用Regex 像这样:
if(preg_match('(foo|bar)', $baz) === 1) { }
这将检查
$baz
是否包含“foo”
和“bar”
这不起作用,但您正在尝试的概念正是我正在尝试的。这非常有效。非常感谢你。我会在7分钟内把这个标记为答案。(我必须等待)顺便说一句…而不是“如果…不做其他事情做某事”,简单地反转条件:if(strpos(…)==false){echo…}
@deceze我尝试了这个,它删除了每个页面上的链接,而不仅仅是列表中的页面。
if(preg_match('(foo|bar)', $baz) === 1) { }