40         $this->_sSeparator = $sSeparator;
 
   59     public function set($sTags, $blPrepare = 
true)
 
   62         $this->
add($sTags, $blPrepare);
 
   91     public function add($sTags, $blPrepare = 
true)
 
   94         foreach ($aTags as $sTag) {
 
   95             $this->
addTag($sTag, $blPrepare);
 
  107     public function addTag($mTag, $blPrepare = 
true)
 
  109         $oTag = $this->
_formTag($mTag, $blPrepare);
 
  110         $sTagName = $oTag->get();
 
  111         if (!$oTag->isValid()) {
 
  112             if ($sTagName !== 
"") {
 
  113                 $this->_aInvalidTags[$sTagName] = $oTag;
 
  118         if ($this->_aTags[$sTagName] === null) {
 
  119             $this->_aTags[$sTagName] = $oTag;
 
  121             $this->_aTags[$sTagName]->increaseHitCount();
 
  132         $this->_aTags = array();
 
  143         foreach ($this->
get() as $oTag) {
 
  144             $aTags = array_merge($aTags, array_fill(0, $oTag->getHitCount(), $oTag->get()));
 
  168     public function slice($offset, $length)
 
  170         $this->_aTags = array_slice($this->
get(), $offset, $length, 
true);
 
  181         uksort($this->_aTags, array($oStr, 
'strrcmp'));
 
  189         uasort($this->_aTags, array($this, 
'_tagHitsCmp'));
 
  217         return key($this->_aTags);
 
  227         return isset($this->_aTags[$this->
key()]);
 
  235         reset($this->_aTags);
 
  246     protected function _formTag($mTag, $blPrepare = 
true)
 
  248         if ($mTag instanceof 
oxTag) {
 
  251             $oTag = 
oxNew(
"oxTag");
 
  252             $oTag->set($mTag, $blPrepare);
 
  268         return $oTag2->getHitCount() - $oTag1->getHitCount();