织梦用PHP判断flag自定义属性是否存在,然后调用自定义属性

红粒炊畲粟,青烟郁涧薪。得床思熟睡,寒犬苦狺狺。一生之中至少要有两次冲动,一次为奋不顾身的爱情,一次为说走就走的旅行。

织梦DedeCMS自带有自定义属性:头条[h],推荐[c],幻灯[f]等,可以非常自由地进行调用,在首页或列表中调用方法如下:

{dede:arclist typeid='1' flag='c'}

<li><a rel="nofollow noopener noreferrer" href="[field:arcurl/]">[field:title/]</a></li>

{/dede:arclist}

如果在文章内容页把自定义属性调用出来用,试试用

{dede:field.flag/}

显示出来的是不是文字,而是

c,p

这是正常的,因为他只是调用数据表里的内容,如果要把指定的文字调用出来就需要array处理一下,用到PHP的strstr函数,下面给出方法

{dede:field name='array' runphp='yes'}

if(@me['typeid']=='1' && strstr(@me['flag'],'c')=='c') @me='[推荐]'.@me['title']';

else @me=@me['title'];

{/dede:field}

注意这个例子增加了栏目的ID判断条件,如果不需要判断就直接用

{dede:field name='array' runphp='yes'}

if(strstr(@me['flag'],'c')=='c') @me='[推荐]'.@me['title'];

else @me=@me['title'];

{/dede:field}

php判断字符串是否包含方法

方法一、使用strstr,strstr返回需要判断是否被包含的字符开始到结束的字符串,如果没有返回值,则不包含。

举例,判断是否包含字符“#”:

<?php

$str='abc#defg';

$in=strstr($str,'#');

echo $in;//输出结果为:#defg

?>

方法二、使用stristr,它的用法和strstr的完全一样。唯一的区别是stristr不区分大小写,而strstr区分大小写。可以根据实际情况是否区分大小写来使用。

方法三、使用strpos,但它对中文件的支持不是很好,它的返回值为boolean型,也就是true和false(真和假)。执行速度比stristr和strstr都快,strpos函数中有一个参数用于指定判断的位置,默认为空,即判断整个字符串。

下面看例子:

<?php

$str='bde';

$in='b';

$output=strpos($str,$in);

?>

方法四、将字符串用explode来拆分数组再判断。如下:

function chstr($str,$in){

    $tmparr = explode($in,$str);

    if(count($tmparr)>1){

        return true;

    }else{

        return false;

    }

}

$str='abc#defg';

$in='#';//判断是否包含#这个字符

$bh=chstr($str,$in);

if($bn){

    echo '字符串'.$str.'包含'.$in;

}else{

    echo '字符串'.$str.'不包含'.$in;

}

以上就是织梦用PHP判断flag自定义属性是否存在,然后调用自定义属性。谁卑微了承诺,放肆了寂寞,又丢下了我。更多关于织梦用PHP判断flag自定义属性是否存在,然后调用自定义属性请关注haodaima.com其它相关文章!

标签: 存在