41 $this->_sSeparator = $sSeparator;
60 public function set($sTags, $blPrepare =
true)
63 $this->
add($sTags, $blPrepare);
92 public function add($sTags, $blPrepare =
true)
95 foreach ($aTags as $sTag) {
96 $this->
addTag($sTag, $blPrepare);
108 public function addTag($mTag, $blPrepare =
true)
110 $oTag = $this->
_formTag($mTag, $blPrepare);
111 $sTagName = $oTag->get();
112 if (!$oTag->isValid()) {
113 if ($sTagName !==
"") {
114 $this->_aInvalidTags[$sTagName] = $oTag;
119 if ($this->_aTags[$sTagName] === null) {
120 $this->_aTags[$sTagName] = $oTag;
122 $this->_aTags[$sTagName]->increaseHitCount();
133 $this->_aTags = array();
144 foreach ($this->
get() as $oTag) {
145 $aTags = array_merge($aTags, array_fill(0, $oTag->getHitCount(), $oTag->get()));
169 public function slice($offset, $length)
171 $this->_aTags = array_slice($this->
get(), $offset, $length,
true);
182 uksort($this->_aTags, array($oStr,
'strrcmp'));
190 uasort($this->_aTags, array($this,
'_tagHitsCmp'));
218 return key($this->_aTags);
228 return isset($this->_aTags[$this->
key()]);
236 reset($this->_aTags);
247 protected function _formTag($mTag, $blPrepare =
true)
249 if ($mTag instanceof
oxTag) {
252 $oTag =
oxNew(
"oxTag");
253 $oTag->set($mTag, $blPrepare);
269 return $oTag2->getHitCount() - $oTag1->getHitCount();