我试图找出如何检查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
?
答案 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)
您可以将explode
与in_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