包括取决于身体类别

时间:2015-05-21 14:01:35

标签: php html if-statement

我试图找出如何检查body标签上的单个类,然后包含一个文件。

我的header.php包含:

</head>
<?php $class = BODY_CLASS; ?>
<body class="<?php echo $class; ?>" id="top">

在身体里:

<?php if (isset($class) && $class == 'work') { ?>
    <?php include( $_SERVER['DOCUMENT_ROOT'] . MODULES . "_social.php"); ?>
<?php }; ?>

只要我在body标签上只有一个类,这个工作正常,但如果我有多个标签怎么办?

例如我的body标签输出:

<body id="top" class="work project1">

即使存在其他类,我如何检查work

3 个答案:

答案 0 :(得分:3)

只需稍微更改一下if语句,然后explode() $class一个空格,然后在数组中搜索in_array()的值,例如

if (in_array("work", explode(" ", $class))) {

答案 1 :(得分:2)

您可以使用不同的方法,例如,如果您确定body类始终是第一个单词,则可以尝试使用

$class=current(explode(" ",BODY_CLASS)); //class that you should check
if($class=='')

switch($class) { }

分割BODY_CLASS字符串并获取第一个值。

无论如何,你也可以尝试搜索一个数组,比如

if(in_array('classname',explode(" ",BODY_CLASS)))

答案 2 :(得分:0)

您可以将explodein_array一起使用:

if (isset($class) && in_array('work', explode(' ', $class))) { ...

参考文献: http://php.net/manual/en/function.explode.php http://php.net/manual/en/function.in-array.php