public static function parseRC( $msg ) {
		if( preg_match( '/^\[\[((Talk|User|Wikipedia|Image|MediaWiki|Template|Help|Category|Portal|Special)(( |_)talk)?:)?([^\x5d]*)\]\] (\S*) (http:\/\/en\.wikipedia\.org\/w\/index\.php\?(oldid|diff)=(\d*)&(rcid|oldid)=(\d*).*|http:\/\/en\.wikipedia\.org\/wiki\/\S+)? \* ([^*]*) \* (\(([^)]*)\))? (.*)$/S', $msg, $m ) ) {

			$return = array();

			//print_r($m);

			$return['namespace'] = $m[2];
			$return['pagename'] = $m[5];
			$return['fullpagename'] = $m[1] . $m[5];
			$return['basepagename'] = explode( '/', $return['fullpagename'] );
			$return['basepagename'] = $return['basepagename'][0];
			$return['subpagename'] = str_replace( $return['basepagename'] . '/', '', $return['fullpagename'] );
			$return['flags'] = str_split( $m[6] );
			$return['action'] = $m[6];
			$return['url'] = $m[7];
			$return['revid'] = $m[9];
			$return['oldid'] = $m[11];
			$return['username'] = $m[12];
			$return['len'] = $m[14];
			$return['comment'] = $m[15];
            $return['timestamp'] = time();
			$return['is_new'] = false;
			$return['is_minor'] = false;
			$return['is_bot'] = false;
			$return['is_delete'] = false;
			$return['actionpage'] = null;

			if( in_array( 'N', $return['flags'] ) ) {
				$return['is_new'] = true;
			}

			if( in_array( 'M', $return['flags'] ) ) {
				$return['is_minor'] = true;
			}

			if( in_array( 'B', $return['flags'] ) ) {
				$return['is_bot'] = true;
			}

			if( $return['action'] == 'delete' ) {
				$return['is_delete'] = true;
				$tmp = explode( '[[', $return['comment'] );
				$tmp = explode( ']]', $tmp[1] );
				$return['actionpage'] = $tmp[0];
				$return['actionpageprefix'] = explode( '/', $return['actionpage'] );
				$return['actionpageprefix'] = $return['actionpageprefix'][0];
			}

			return $return;
		}
	}