織夢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;} |



















