You are here

protected function MarkdownExtra::stripLinkDefinitions in Markdown 7

* Strips link definitions from text, stores the URLs and titles in * hash references. *

Parameters

string $text: * @return string

Overrides Markdown::stripLinkDefinitions

File

includes/MarkdownExtra.php, line 241

Class

MarkdownExtra
Markdown Extra Parser Class

Namespace

Michelf

Code

protected function stripLinkDefinitions($text) {
  $less_than_tab = $this->tab_width - 1;

  // Link defs are in the form: ^[id]: url "optional title"
  $text = preg_replace_callback('{
							^[ ]{0,' . $less_than_tab . '}\\[(.+)\\][ ]?:	# id = $1
							  [ ]*
							  \\n?				# maybe *one* newline
							  [ ]*
							(?:
							  <(.+?)>			# url = $2
							|
							  (\\S+?)			# url = $3
							)
							  [ ]*
							  \\n?				# maybe one newline
							  [ ]*
							(?:
								(?<=\\s)			# lookbehind for whitespace
								["(]
								(.*?)			# title = $4
								[")]
								[ ]*
							)?	# title is optional
					(?:[ ]* ' . $this->id_class_attr_catch_re . ' )?  # $5 = extra id & class attr
							(?:\\n+|\\Z)
			}xm', array(
    $this,
    '_stripLinkDefinitions_callback',
  ), $text);
  return $text;
}