Пример #1
0
		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;

		}