You are here

function Markdown_Parser::doImages in Markdown 5

Same name and namespace in other branches
  1. 6 markdown.php \Markdown_Parser::doImages()

File

./markdown.php, line 777

Class

Markdown_Parser

Code

function doImages($text) {

  #

  # Turn Markdown image shortcuts into <img> tags.

  #

  #

  # First, handle reference-style labeled images: ![alt text][id]

  #
  $text = preg_replace_callback('{
			(				# wrap whole match in $1
			  !\\[
				(' . $this->nested_brackets_re . ')		# alt text = $2
			  \\]

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

			  \\[
				(.*?)		# id = $3
			  \\]

			)
			}xs', array(
    &$this,
    '_doImages_reference_callback',
  ), $text);

  #

  # Next, handle inline images:  ![alt text](url "optional title")

  # Don't forget: encode * and _

  #
  $text = preg_replace_callback('{
			(				# wrap whole match in $1
			  !\\[
				(' . $this->nested_brackets_re . ')		# alt text = $2
			  \\]
			  \\s?			# One optional whitespace character
			  \\(			# literal paren
				[ ]*
				(?:
					<(\\S*)>	# src url = $3
				|
					(' . $this->nested_url_parenthesis_re . ')	# src url = $4
				)
				[ ]*
				(			# $5
				  ([\'"])	# quote char = $6
				  (.*?)		# title = $7
				  \\6		# matching quote
				  [ ]*
				)?			# title is optional
			  \\)
			)
			}xs', array(
    &$this,
    '_doImages_inline_callback',
  ), $text);
  return $text;
}