找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 177|回复: 0

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

[复制链接]

该用户从未签到

发表于 2021-3-7 15:08:07 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
织梦DedeCMS自带有自定义属性:头条[h,,推荐[c,,幻灯[f,等,可以非常自由地进行调用,在首页或列表中调用方法如下:
         
        {dede:arclist typeid='1' flag='c'}
         
        [*,[url=,[field:title/][/url]
         
        {/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返回需要判断是否被包含的字符开始到结束的字符串,如果没有返回值,则不包含。
         
         
         
        举例,判断是否包含字符“#”:
         
         
         
       
         
            $str='abc#defg';
         
            $in=strstr($str]'#');
         
            echo $in;//输出结果为:#defg
         
        ?>
         
        方法二、使用stristr,它的用法和strstr的完全一样。唯一的区别是stristr不区分大小写,而strstr区分大小写。可以根据实际情况是否区分大小写来使用。
         
         
         
        方法三、使用strpos,但它对中文件的支持不是很好,它的返回值为boolean型,也就是true和false(真和假)。执行速度比stristr和strstr都快,strpos函数中有一个参数用于指定判断的位置,默认为空,即判断整个字符串。
         
         
         
        下面看例子:
         
       
         
            $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;
}
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-12-29 10:38

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表