DedeCMS用PHP判断flag自定义属性是否存在

时间:2023-08-09 12:02 浏览:0 评论:0
0

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

{dede:arclist typeid='1' flag='c'}
  • [field:title/]
  • {/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返回需要判断是否被包含的字符开始到结束的字符串,如果没有返回值,则不包含。

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

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

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

    下面看例子:

    方法四、将字符串用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; }

    1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
    2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
    3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
    4. dedecms > DedeCMS用PHP判断flag自定义属性是否存在

    用户评论