PHP if语句帮助 - URL是否在特定目录中?

时间:2014-12-22 21:32:07

标签: php cakephp if-statement

我知道当我的PHP if语句与我网站上的特定页面相关时,如何编辑它的语法。例如,下面的代码可以正常工作:

<?php
if ($this->here == '/education') {?>
<meta name="viewport" content="width=device-width, initial-scale=1">
<?php } ?>

但是,我有一个页面目录,其中包含如下网址:

site.com/c/sdflkjasldkjf  

对于/c/目录中的所有页面,我想添加一个if语句,如上所述,如果任何页面在/c/目录中有一个URL,将导致meta name="viewport" content="width=device-width, initial-scale=1

我尝试了以下操作,但似乎不起作用:

if ($this->here == '/c/') {?>
<meta name="viewport" content="width=device-width, initial-scale=1">
<?php } ?>

我可以使用“包含”运算符代替==吗?

谢谢!对不起,我是一个菜鸟 - 我正在努力学习! :)

3 个答案:

答案 0 :(得分:1)

在这种情况下:strpos()是您正在寻找的功能。

$test = strpos($this->here, '/c/');
if ($test !== false) {
  // Good to go
}

请查看此处的文档:

Php Manual

答案 1 :(得分:0)

也许是这样的:

<?php       $URlstr= "www.google.com/education";
        if (substr_compare(URlstr, "/education",0)) :?>
           <meta name="viewport" content="width=device-width, initial-scale=1">
        <?php endif; ?>

你可以使用php引擎的内置字符串函数,在这种情况下我们使用&#34; substr_compare&#34; 查看正在运行的代码:http://codepad.org/0MuJcxXC

答案 2 :(得分:0)

无法完成工作。结束以下解决问题:

<?php if (mb_substr($this->here, 0, 3 ) === "/c/") {?>
       <meta name="viewport" content="width=device-width, initial-scale=1">
        <?php } ?>            

    <?php

感谢您的帮助!