• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    织梦用PHP判断flag自定义属性是否存在,然后调用自定义属性
    POST TIME:2021-05-23 02:39

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

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

    <li><a 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;
    
    }

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!