public function get( $name )
	{
		$mbegin = str_replace( '$', $name, $this->_begin );
		$mend = str_replace( '$', $name, $this->_end );

		if( ( $begin = strpos( $this->_text, $mbegin ) ) === false )
		{
			throw new MW_Template_Exception( sprintf( 'Error finding begin of marker "%1$s" in template', $name ) );
		}

		$begin += strlen( $mbegin );

		if( ( $end = strpos( $this->_text, $mend, $begin ) ) === false )
		{
			throw new MW_Template_Exception( sprintf( 'Error finding end of marker "%1$s" in template', $name ) );
		}

		return new self( substr( $this->_text, $begin, $end - $begin ), $this->_begin, $this->_end );
	}