Parse the Markdown-like Markup!
PHP, 770 Bytes

Online Version

There are some rules to make html with this markup 

the replacement of blockquote must before all others

h6,h5,h4,h3,h2,h1 is the next order

strong, em

img, a

and (li ,ul, li,ol) or (li ,ol, li,ul)


$s=[
"%&gt;(.*)\n%Us"
,'%(\*|_)\1(.+)\1\1%Us'
,'%(\*|_)(.*)\1%Us'
,'%######(.*)\n%Us'
,'%#####(.*)\n%Us'
,'%####(.*)\n%Us'
,'%###(.*)\n%Us'
,'%##(.*)\n%Us'
,'%#(.*)\n%Us'
,'%- (.*)\n%Us'
,'%(?&lt;!&lt;/li&gt;)&lt;li&gt;%Us'
,'%&lt;/li&gt;(?!&lt;li&gt;)%Us'
,'%\d+\. (.*)\n%Us'
,'%(?&lt;!li&gt;|ul&gt;)&lt;li&gt;%Us'
,'%&lt;/li&gt;(?!&lt;(li|/ul)&gt;)%Us'
,'%(\t|    )(.*)\n%Us'
,'%!\[(.*)\]\((.*)\)%Us'
,'%\[(.*)\]\((.*)\)%Us'
];
$r=[
'&lt;blockquote&gt;\1&lt;/blockquote&gt;'
,'&lt;strong&gt;\2&lt;/strong&gt;'
,'&lt;em&gt;\2&lt;/em&gt;'
,'&lt;h6&gt;\1&lt;/h6&gt;'
,'&lt;h5&gt;\1&lt;/h5&gt;'
,'&lt;h4&gt;\1&lt;/h5&gt;'
,'&lt;h3&gt;\1&lt;/h5&gt;'
,'&lt;h2&gt;\1&lt;/h5&gt;'
,'&lt;h1&gt;\1&lt;/h5&gt;'
,'&lt;li&gt;\1&lt;/li&gt;'
,'&lt;ul&gt;&lt;li&gt;'
,'&lt;/li&gt;&lt;/ul&gt;'
,'&lt;li&gt;\1&lt;/li&gt;'
,'&lt;ol&gt;&lt;li&gt;'
,'&lt;/li&gt;&lt;/ol&gt;'
,'&lt;pre&gt;&lt;code&gt;\2&lt;/code&gt;&lt;/pre&gt;'
,'&lt;img src="\2" alt="\1"/&gt;'
,'&lt;a href="\2"&gt;\1&lt;/a&gt;'
];
echo preg_replace($s,$r,$i);