/**
     * Turn Markdown link shortcuts into XHTML <a> tags.
     */
    private static function do_anchors($text)
    {
        if (self::$in_anchor) {
            return $text;
        }
        self::$in_anchor = TRUE;
        // First, handle reference-style links: [link text] [id]
        $text = preg_replace_callback('{
			(                                 # wrap whole match in $1
			  \\[
				(' . self::$nested_brackets_re . ') # link text = $2
			  \\]

			  [ ]?                            # one optional space
			  (?:\\n[ ]*)?                     # one optional newline followed by spaces

			  \\[
				(.*?)                           # id = $3
			  \\]
			)
			}xs', array(__CLASS__, '_do_anchors_reference_callback'), $text);
        // Next, inline-style links: [link text](url "optional title")
        $text = preg_replace_callback('{
			(                                          # wrap whole match in $1
			  \\[
				(' . self::$nested_brackets_re . ')          # link text = $2
			  \\]
			  \\(                                       # literal paren
				[ \\n]*
				(?:
					<(.+?)>                                # href = $3
				|
					(' . self::$nested_url_parenthesis_re . ') # href = $4
				)
				[ \\n]*
				(                                        # $5
				  ([\'"])                                # quote char = $6
				  (.*?)                                  # Title = $7
				  \\6                                     # matching quote
				  [ \\n]*                                 # ignore any spaces/tabs between closing quote and )
				)?                                       # title is optional
			  \\)
			)
			}xs', array(__CLASS__, '_do_anchors_inline_callback'), $text);
        /*
         * Last, handle reference-style shortcuts: [link text]
         * These must come last in case you've also got [link text][1]
         * or [link text](/foo)
         */
        $text = preg_replace_callback('{
			(                # wrap whole match in $1
			  \\[
				([^\\[\\]]+)     # link text = $2; cant contain [ or ]
			  \\]
			)
			}xs', array(__CLASS__, '_do_anchors_reference_callback'), $text);
        self::$in_anchor = FALSE;
        return $text;
    }