function tag_close($parser, $tag)
{
switch ($tag) {
case 'wp:comment':
unset($this->sub_data['key'], $this->sub_data['value']);
// remove meta sub_data
if (!empty($this->sub_data)) {
$this->data['comments'][] = $this->sub_data;
}
$this->sub_data = false;
break;
case 'wp:commentmeta':
$this->sub_data['commentmeta'][] = array('key' => $this->sub_data['key'], 'value' => $this->sub_data['value']);
break;
case 'category':
if (!empty($this->sub_data)) {
$this->sub_data['name'] = $this->cdata;
$this->data['terms'][] = $this->sub_data;
}
$this->sub_data = false;
break;
case 'wp:postmeta':
if (!empty($this->sub_data)) {
$this->data['postmeta'][] = $this->sub_data;
}
$this->sub_data = false;
break;
case 'item':
$this->posts[] = $this->data;
$this->data = false;
break;
case 'wp:category':
case 'wp:tag':
case 'wp:term':
$n = substr($tag, 3);
array_push($this->{$n}, $this->data);
$this->data = false;
break;
case 'wp:author':
if (!empty($this->data['author_login'])) {
$this->authors[$this->data['author_login']] = $this->data;
}
$this->data = false;
break;
case 'wp:base_site_url':
$this->base_url = $this->cdata;
break;
case 'wp:wxr_version':
$this->wxr_version = $this->cdata;
break;
default:
if ($this->in_sub_tag) {
$this->sub_data[$this->in_sub_tag] = !empty($this->cdata) ? $this->cdata : '';
$this->in_sub_tag = false;
} else {
if ($this->in_tag) {
$this->data[$this->in_tag] = !empty($this->cdata) ? $this->cdata : '';
$this->in_tag = false;
}
}
}
$this->cdata = false;
}