cakePHP if 语句帮助 - 如果 URL 在特定目录中,则语法


cakePHP if statement help - syntax if URL is in specific directory?

我知道如何编辑我的 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 } ?>

是否有类似"包含"运算符的东西,我可以使用而不是==

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

在这种情况下:strpos()是您要查找的函数。

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

在此处查看文档:

Php 手册

也许是这样的:

<?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 引擎的内置字符串函数,在这种情况下我们使用了"substr_compare"查看正在运行的代码: http://codepad.org/0MuJcxXC

无法让 strpos 工作。最终得到了以下方法来解决问题:

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

不过感谢您的帮助!