DedeCMS自帶有自定義屬性:頭條[h],推薦[c],幻燈[f]等,可以非常自由地進行調(diào)用,在首頁或列表中調(diào)用方法如下:
{dede:arclist typeid='1' flag='c'} <li><a href="[field:arcurl/]">[field:title/]</a></li> {/dede:arclist}
如果在文章內(nèi)容頁把自定義屬性調(diào)用出來用,試試用
{dede:field.flag/}
顯示出來的是不是文字,而是
c,p
這是正常的,因為他只是調(diào)用數(shù)據(jù)表里的內(nèi)容,如果要把指定的文字調(diào)用出來就需要array處理一下,用到PHP的strstr函數(shù),下面給出方法
{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的完全一樣。唯一的區(qū)別是stristr不區(qū)分大小寫,而strstr區(qū)分大小寫?梢愿鶕(jù)實際情況是否區(qū)分大小寫來使用。
方法三、使用strpos,但它對中文件的支持不是很好,它的返回值為boolean型,也就是true和false(真和假)。執(zhí)行速度比stristr和strstr都快,strpos函數(shù)中有一個參數(shù)用于指定判斷的位置,默認為空,即判斷整個字符串。
下面看例子:
<?php $str='bde'; $in='b'; $output=strpos($str,$in); ?>
方法四、將字符串用explode來拆分數(shù)組再判斷。如下:
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; }