original_string: public function get_categories()
  	{
  		$categories = array();
  
  		$type = 'category';
  		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, $type) as $category)
  		{
  			$term = null;
  			$scheme = null;
  			$label = null;
  			if (isset($category['attribs']['']['term']))
  			{
  				$term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_HTML);
  			}
  			if (isset($category['attribs']['']['scheme']))
  			{
  				$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_HTML);
  			}
  			if (isset($category['attribs']['']['label']))
  			{
  				$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_HTML);
  			}
  			$categories[] = $this->registry->create('Category', array($term, $scheme, $label, $type));
  		}
  		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, $type) as $category)
  		{
  			// This is really the label, but keep this as the term also for BC.
  			// Label will also work on retrieving because that falls back to term.
  			$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_HTML);
  			if (isset($category['attribs']['']['domain']))
  			{
  				$scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_HTML);
  			}
  			else
  			{
  				$scheme = null;
  			}
  			$categories[] = $this->registry->create('Category', array($term, $scheme, null, $type));
  		}
  
  		$type = 'subject';
  		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, $type) as $category)
  		{
  			$categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null, $type));
  		}
  		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, $type) as $category)
  		{
  			$categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null, $type));
  		}
  
  		if (!empty($categories))
  		{
  			return array_unique($categories);
  		}
  		else
  		{
  			return null;
  		}
  	}
code: public function get_categories()
  	{
  		$categories = array();
  
  		$type = 'category';
  		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, $type) as $category)
  		{
  			$term = null;
  			$scheme = null;
  			$label = null;
  			if (isset($category['attribs']['']['term']))
  			{
  				$term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_HTML);
  			}
  			if (isset($category['attribs']['']['scheme']))
  			{
  				$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_HTML);
  			}
  			if (isset($category['attribs']['']['label']))
  			{
  				$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_HTML);
  			}
  			$categories[] = $this->registry->create('Category', array($term, $scheme, $label, $type));
  		}
  		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, $type) as $category)
  		{
  			// This is really the label, but keep this as the term also for BC.
  			// Label will also work on retrieving because that falls back to term.
  			$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_HTML);
  			if (isset($category['attribs']['']['domain']))
  			{
  				$scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_HTML);
  			}
  			else
  			{
  				$scheme = null;
  			}
  			$categories[] = $this->registry->create('Category', array($term, $scheme, null, $type));
  		}
  
  		$type = 'subject';
  		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, $type) as $category)
  		{
  			$categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null, $type));
  		}
  		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, $type) as $category)
  		{
  			$categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null, $type));
  		}
  
  		if (!empty($categories))
  		{
  			return array_unique($categories);
  		}
  		else
  		{
  			return null;
  		}
  	}
code_tokens: public function get_categories ( ) { $ categories = array ( ) ; $ type = 'category' ; foreach ( ( array ) $ this -> get_item_tags ( SIMPLEPIE_NAMESPACE_ATOM_10 , $ type ) as $ category ) { $ term = null ; $ scheme = null ; $ label = null ; if ( isset ( $ category [ 'attribs' ] [ '' ] [ 'term' ] ) ) { $ term = $ this -> sanitize ( $ category [ 'attribs' ] [ '' ] [ 'term' ] , SIMPLEPIE_CONSTRUCT_HTML ) ; } if ( isset ( $ category [ 'attribs' ] [ '' ] [ 'scheme' ] ) ) { $ scheme = $ this -> sanitize ( $ category [ 'attribs' ] [ '' ] [ 'scheme' ] , SIMPLEPIE_CONSTRUCT_HTML ) ; } if ( isset ( $ category [ 'attribs' ] [ '' ] [ 'label' ] ) ) { $ label = $ this -> sanitize ( $ category [ 'attribs' ] [ '' ] [ 'label' ] , SIMPLEPIE_CONSTRUCT_HTML ) ; } $ categories [ ] = $ this -> registry -> create ( 'Category' , array ( $ term , $ scheme , $ label , $ type ) ) ; } foreach ( ( array ) $ this -> get_item_tags ( SIMPLEPIE_NAMESPACE_RSS_20 , $ type ) as $ category ) { // This is really the label, but keep this as the term also for BC. // Label will also work on retrieving because that falls back to term. $ term = $ this -> sanitize ( $ category [ 'data' ] , SIMPLEPIE_CONSTRUCT_HTML ) ; if ( isset ( $ category [ 'attribs' ] [ '' ] [ 'domain' ] ) ) { $ scheme = $ this -> sanitize ( $ category [ 'attribs' ] [ '' ] [ 'domain' ] , SIMPLEPIE_CONSTRUCT_HTML ) ; } else { $ scheme = null ; } $ categories [ ] = $ this -> registry -> create ( 'Category' , array ( $ term , $ scheme , null , $ type ) ) ; } $ type = 'subject' ; foreach ( ( array ) $ this -> get_item_tags ( SIMPLEPIE_NAMESPACE_DC_11 , $ type ) as $ category ) { $ categories [ ] = $ this -> registry -> create ( 'Category' , array ( $ this -> sanitize ( $ category [ 'data' ] , SIMPLEPIE_CONSTRUCT_HTML ) , null , null , $ type ) ) ; } foreach ( ( array ) $ this -> get_item_tags ( SIMPLEPIE_NAMESPACE_DC_10 , $ type ) as $ category ) { $ categories [ ] = $ this -> registry -> create ( 'Category' , array ( $ this -> sanitize ( $ category [ 'data' ] , SIMPLEPIE_CONSTRUCT_HTML ) , null , null , $ type ) ) ; } if ( ! empty ( $ categories ) ) { return array_unique ( $ categories ) ; } else { return null ; } }
docstring: Get all categories for the item
  
  Uses `<atom:category>`, `<category>` or `<dc:subject>`
  
  @since Beta 3
  @return SimplePie_Category[]|null List of {@see SimplePie_Category} objects
docstring_tokens: Get all categories for the item