function DealTag($new_tag,$old_tag){ if (!$new_tag && !$old_tag) return false; $new_tag=Textfilter::TagFilter(CEditor::FixFullBlank($new_tag)); $old_tag=Textfilter::TagFilter($old_tag); $Arynewtag=explode(" ",$new_tag); $AryoldTags=$old_tag?$old_tag:array(); $dao_dict = new CDAOSysDict(); $AllSysTag = $dao_dict->getValue('SYS.TAG'); $j=0; foreach ($Arynewtag as $nk => $newstrtag){ if (in_array($newstrtag,$AllSysTag)){ if ($j>0){ unset($Arynewtag[$nk]); continue; } $j++; } } foreach ($AryoldTags as $ok => $oldstrtag){ if (in_array($oldstrtag,$AllSysTag)){ if ($j>0){ unset($AryoldTags[$ok]); continue; } $j++; } } //只取前20个标签 $newcnt=count($Arynewtag); $oldcnt=count($AryoldTags); if (($newcnt+$oldcnt)>20){ if ($newcnt>20){ $Arynewtag=array_slice ($Arynewtag, 0,20 ); $AryoldTags=""; }else{ $cnt=20-$newcnt+1; $AryoldTags=array_slice ($AryoldTags, 0,$cnt ); } } if ($Arynewtag) $tagarray[0]=implode(" ",$Arynewtag); $tagarray[1]=$AryoldTags; return $tagarray; }