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();