Code Duplication    Length = 30-40 lines in 2 locations

lib/markdown/markdown.php 1 location

@@ 915-944 (lines=30) @@
912
	}
913
914
915
	function doHeaders($text) {
916
		# Setext-style headers:
917
		#	  Header 1
918
		#	  ========
919
		#
920
		#	  Header 2
921
		#	  --------
922
		#
923
		$text = preg_replace_callback('{ ^(.+?)[ ]*\n(=+|-+)[ ]*\n+ }mx',
924
			array(&$this, '_doHeaders_callback_setext'), $text);
925
926
		# atx-style headers:
927
		#	# Header 1
928
		#	## Header 2
929
		#	## Header 2 with closing hashes ##
930
		#	...
931
		#	###### Header 6
932
		#
933
		$text = preg_replace_callback('{
934
				^(\#{1,6})	# $1 = string of #\'s
935
				[ ]*
936
				(.+?)		# $2 = Header text
937
				[ ]*
938
				\#*			# optional closing #\'s (not counted)
939
				\n+
940
			}xm',
941
			array(&$this, '_doHeaders_callback_atx'), $text);
942
943
		return $text;
944
	}
945
	function _doHeaders_callback_setext($matches) {
946
		# Terrible hack to check we haven't found an empty list item.
947
		if ($matches[2] == '-' && preg_match('{^-(?: |$)}', $matches[1]))

lib/markdown/markdown_extras.php 1 location

@@ 563-602 (lines=40) @@
560
	}
561
562
563
	function doHeaders($text) {
564
	#
565
	# Redefined to add id attribute support.
566
	#
567
		# Setext-style headers:
568
		#	  Header 1  {#header1}
569
		#	  ========
570
		#
571
		#	  Header 2  {#header2}
572
		#	  --------
573
		#
574
		$text = preg_replace_callback(
575
			'{
576
				(^.+?)								# $1: Header text
577
				(?:[ ]+\{\#([-_:a-zA-Z0-9]+)\})?	# $2: Id attribute
578
				[ ]*\n(=+|-+)[ ]*\n+				# $3: Header footer
579
			}mx',
580
			array(&$this, '_doHeaders_callback_setext'), $text);
581
582
		# atx-style headers:
583
		#	# Header 1        {#header1}
584
		#	## Header 2       {#header2}
585
		#	## Header 2 with closing hashes ##  {#header3}
586
		#	...
587
		#	###### Header 6   {#header2}
588
		#
589
		$text = preg_replace_callback('{
590
				^(\#{1,6})	# $1 = string of #\'s
591
				[ ]*
592
				(.+?)		# $2 = Header text
593
				[ ]*
594
				\#*			# optional closing #\'s (not counted)
595
				(?:[ ]+\{\#([-_:a-zA-Z0-9]+)\})? # id attribute
596
				[ ]*
597
				\n+
598
			}xm',
599
			array(&$this, '_doHeaders_callback_atx'), $text);
600
601
		return $text;
602
	}
603
	function _doHeaders_attr($attr) {
604
		if (empty($attr))  return "";
605
		return " id=\"$attr\"";