document.write('<link rel="stylesheet" href="http://gist.github.com/stylesheets/gist/embed.css"/>')





document.write('<div id=\"gist-67964\" class=\"gist\">\n  \n  \n    \n            \n\n      <div class=\"gist-file\">\n        <div class=\"gist-data gist-syntax\">\n          \n          \n          \n            <div class=\"gist-highlight\"><pre><div class=\"line\" id=\"LC1\"><span class=\"cm\">/*<\/span><\/div><div class=\"line\" id=\"LC2\"><span class=\"cm\"> * BBCode.js - javascript BBCode module by Zhang Qingcheng &lt;kinch.zhang@gmail.com&gt;<\/span><\/div><div class=\"line\" id=\"LC3\"><span class=\"cm\"> *<\/span><\/div><div class=\"line\" id=\"LC4\"><span class=\"cm\"> * usage:<\/span><\/div><div class=\"line\" id=\"LC5\"><span class=\"cm\"> *<\/span><\/div><div class=\"line\" id=\"LC6\"><span class=\"cm\"> *     1. load this module<\/span><\/div><div class=\"line\" id=\"LC7\"><span class=\"cm\"> *     &lt;script type=&quot;text/javascript&quot; src=&quot;&lt;?php echo get_domain_name_by_app(&#39;js&#39;, true);?&gt;/c/BBCode.js&quot;&gt;&lt;/script&gt;<\/span><\/div><div class=\"line\" id=\"LC8\"><span class=\"cm\"> *<\/span><\/div><div class=\"line\" id=\"LC9\"><span class=\"cm\"> *     2. get an instance to use it<\/span><\/div><div class=\"line\" id=\"LC10\"><span class=\"cm\"> *     &lt;script type=&quot;text/javascript&quot;&gt;<\/span><\/div><div class=\"line\" id=\"LC11\"><span class=\"cm\"> *         var bbcode = new BBCode();<\/span><\/div><div class=\"line\" id=\"LC12\"><span class=\"cm\"> *<\/span><\/div><div class=\"line\" id=\"LC13\"><span class=\"cm\"> *         if (! bbcode.isValid(bbcode))<\/span><\/div><div class=\"line\" id=\"LC14\"><span class=\"cm\"> *         {<\/span><\/div><div class=\"line\" id=\"LC15\"><span class=\"cm\"> *             alert(&#39;bbcode is invalid!&#39;);<\/span><\/div><div class=\"line\" id=\"LC16\"><span class=\"cm\"> *<\/span><\/div><div class=\"line\" id=\"LC17\"><span class=\"cm\"> *             return false;<\/span><\/div><div class=\"line\" id=\"LC18\"><span class=\"cm\"> *         }<\/span><\/div><div class=\"line\" id=\"LC19\"><span class=\"cm\"> *     &lt;/script&gt;<\/span><\/div><div class=\"line\" id=\"LC20\"><span class=\"cm\"> *<\/span><\/div><div class=\"line\" id=\"LC21\"><span class=\"cm\"> */<\/span><\/div><div class=\"line\" id=\"LC22\"><span class=\"p\">(<\/span><span class=\"kd\">function<\/span><span class=\"p\">(){<\/span><\/div><div class=\"line\" id=\"LC23\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">var<\/span> <span class=\"nx\">BBCode<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">window<\/span><span class=\"p\">.<\/span><span class=\"nx\">BBCode<\/span> <span class=\"o\">=<\/span> <span class=\"kd\">function<\/span><span class=\"p\">()<\/span> <span class=\"p\">{}<\/span><\/div><div class=\"line\" id=\"LC24\">&nbsp;<\/div><div class=\"line\" id=\"LC25\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">BBCode<\/span><span class=\"p\">.<\/span><span class=\"nx\">prototype<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC26\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"cm\">/**<\/span><\/div><div class=\"line\" id=\"LC27\"><span class=\"cm\">         * check if the given bbcode is valid<\/span><\/div><div class=\"line\" id=\"LC28\"><span class=\"cm\">         *<\/span><\/div><div class=\"line\" id=\"LC29\"><span class=\"cm\">         * @param String bbcode<\/span><\/div><div class=\"line\" id=\"LC30\"><span class=\"cm\">         * @returns Boolean true/false<\/span><\/div><div class=\"line\" id=\"LC31\"><span class=\"cm\">         * @description this function returns true if the given bbcode in well-formed<\/span><\/div><div class=\"line\" id=\"LC32\"><span class=\"cm\">         */<\/span><\/div><div class=\"line\" id=\"LC33\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;isValid&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"kd\">function<\/span><span class=\"p\">(<\/span><span class=\"nx\">content<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC34\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"cm\">/*<\/span><\/div><div class=\"line\" id=\"LC35\"><span class=\"cm\">             * 检查一段内容中包含的UBB的格式是否正确<\/span><\/div><div class=\"line\" id=\"LC36\"><span class=\"cm\">             *<\/span><\/div><div class=\"line\" id=\"LC37\"><span class=\"cm\">             */<\/span><\/div><div class=\"line\" id=\"LC38\">&nbsp;<\/div><div class=\"line\" id=\"LC39\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">content<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span> <span class=\"o\">==<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC40\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span> <span class=\"kc\">false<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC41\">&nbsp;<\/div><div class=\"line\" id=\"LC42\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">var<\/span> <span class=\"nx\">stack<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[];<\/span><\/div><div class=\"line\" id=\"LC43\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">var<\/span> <span class=\"nx\">depth<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC44\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">var<\/span> <span class=\"nx\">errors<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC45\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">var<\/span> <span class=\"nx\">unmatched<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC46\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">var<\/span> <span class=\"nx\">options<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC47\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;b&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC48\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;i&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC49\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;u&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC50\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;url&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;opt_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC51\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;img&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC52\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;swf&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC53\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;wmv&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC54\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;rm&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC55\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;media&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC56\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;size&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC57\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;quote&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC58\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;list&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;opt_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC59\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;color&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC60\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;dstaic&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC61\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;attach&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC62\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;align&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC63\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;p&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC64\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;font&#39;<\/span><span class=\"o\">:<\/span> <span class=\"s1\">&#39;arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC65\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;color&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC66\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;table&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;opt_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC67\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;tr&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;opt_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC68\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;td&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;opt_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC69\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;desc&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC70\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;hide&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC71\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;fly&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC72\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;code&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC73\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;email&#39;<\/span> <span class=\"o\">:<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC74\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;*&#39;<\/span><span class=\"o\">:<\/span> <span class=\"s1\">&#39;opt_arg&#39;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC75\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"s1\">&#39;tempfile&#39;<\/span><span class=\"o\">:<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><\/div><div class=\"line\" id=\"LC76\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">};<\/span><\/div><div class=\"line\" id=\"LC77\">&nbsp;<\/div><div class=\"line\" id=\"LC78\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">var<\/span> <span class=\"nx\">strictRule<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"s1\">&#39;img&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;swf&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;wmv&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;media&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;rm&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;dstatic&#39;<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;email&#39;<\/span><span class=\"p\">];<\/span><\/div><div class=\"line\" id=\"LC79\">&nbsp;<\/div><div class=\"line\" id=\"LC80\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"c1\">// strip faces and br if any<\/span><\/div><div class=\"line\" id=\"LC81\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">content<\/span><span class=\"p\">.<\/span><span class=\"nx\">indexOf<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;[face_&#39;<\/span><span class=\"p\">)<\/span> <span class=\"o\">!=<\/span> <span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC82\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">content<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">content<\/span><span class=\"p\">.<\/span><span class=\"nx\">replace<\/span><span class=\"p\">(<\/span><span class=\"sr\">/\\[face_[0-9]+\\]/g<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;&#39;<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC83\">&nbsp;<\/div><div class=\"line\" id=\"LC84\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">content<\/span><span class=\"p\">.<\/span><span class=\"nx\">indexOf<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;[br]&#39;<\/span><span class=\"p\">)<\/span> <span class=\"o\">!=<\/span> <span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC85\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">content<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">content<\/span><span class=\"p\">.<\/span><span class=\"nx\">replace<\/span><span class=\"p\">(<\/span><span class=\"sr\">/\\[br\\]/g<\/span><span class=\"p\">,<\/span> <span class=\"s1\">&#39;&#39;<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC86\">&nbsp;<\/div><div class=\"line\" id=\"LC87\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">parseBBCode<\/span><span class=\"p\">(<\/span><span class=\"nx\">content<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC88\">&nbsp;<\/div><div class=\"line\" id=\"LC89\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">info<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;all errer count: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">errors<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC90\">&nbsp;<\/div><div class=\"line\" id=\"LC91\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span> <span class=\"p\">(<\/span><span class=\"nx\">errors<\/span> <span class=\"o\">==<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"p\">(<\/span><span class=\"nx\">unmatched<\/span> <span class=\"o\">==<\/span> <span class=\"mi\">0<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC92\">&nbsp;<\/div><div class=\"line\" id=\"LC93\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">function<\/span> <span class=\"nx\">in_array<\/span><span class=\"p\">(<\/span><span class=\"nx\">needle<\/span><span class=\"p\">,<\/span> <span class=\"nx\">haystack<\/span><span class=\"p\">,<\/span> <span class=\"nx\">isStrict<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC94\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC95\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">var<\/span> <span class=\"nx\">found<\/span> <span class=\"o\">=<\/span> <span class=\"kc\">false<\/span><span class=\"p\">,<\/span> <span class=\"nx\">key<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC96\">&nbsp;<\/div><div class=\"line\" id=\"LC97\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">for<\/span> <span class=\"p\">(<\/span><span class=\"nx\">key<\/span> <span class=\"k\">in<\/span> <span class=\"nx\">haystack<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC98\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">((<\/span><span class=\"nx\">isStrict<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"nx\">haystack<\/span><span class=\"p\">[<\/span><span class=\"nx\">key<\/span><span class=\"p\">]<\/span> <span class=\"o\">===<\/span> <span class=\"nx\">needle<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC99\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"o\">||<\/span><\/div><div class=\"line\" id=\"LC100\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"nx\">isStrict<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"nx\">haystack<\/span><span class=\"p\">[<\/span><span class=\"nx\">key<\/span><span class=\"p\">]<\/span> <span class=\"o\">==<\/span> <span class=\"nx\">needle<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC101\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC102\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC103\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">found<\/span> <span class=\"o\">=<\/span> <span class=\"kc\">true<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC104\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">break<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC105\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC106\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC107\">&nbsp;<\/div><div class=\"line\" id=\"LC108\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span> <span class=\"nx\">found<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC109\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC110\">&nbsp;<\/div><div class=\"line\" id=\"LC111\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">function<\/span> <span class=\"nx\">hasQuotes<\/span><span class=\"p\">(<\/span><span class=\"nx\">str<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC112\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC113\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span> <span class=\"p\">(<\/span><span class=\"nx\">str<\/span><span class=\"p\">.<\/span><span class=\"nx\">indexOf<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;&quot;&#39;<\/span><span class=\"p\">)<\/span> <span class=\"o\">!=<\/span> <span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span> <span class=\"o\">||<\/span><\/div><div class=\"line\" id=\"LC114\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"nx\">str<\/span><span class=\"p\">.<\/span><span class=\"nx\">indexOf<\/span><span class=\"p\">(<\/span><span class=\"s2\">&quot;&#39;&quot;<\/span><span class=\"p\">)<\/span> <span class=\"o\">!=<\/span> <span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC115\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC116\">&nbsp;<\/div><div class=\"line\" id=\"LC117\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">function<\/span> <span class=\"nx\">checkParam<\/span><span class=\"p\">(<\/span><span class=\"nx\">param<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC118\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC119\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;checking param: -&gt; &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">param<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC120\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">((<\/span><span class=\"nx\">param<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">==<\/span> <span class=\"s1\">&#39;&quot;&#39;<\/span> <span class=\"o\">||<\/span> <span class=\"nx\">param<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">==<\/span> <span class=\"s2\">&quot;&#39;&quot;<\/span><span class=\"p\">))<\/span><\/div><div class=\"line\" id=\"LC121\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC122\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">var<\/span> <span class=\"nx\">last<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">param<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">1<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC123\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">param<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">!=<\/span> <span class=\"nx\">param<\/span><span class=\"p\">[<\/span><span class=\"nx\">last<\/span><span class=\"p\">])<\/span><\/div><div class=\"line\" id=\"LC124\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC125\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;quote not match: (&#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">param<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]);<\/span><\/div><div class=\"line\" id=\"LC126\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span> <span class=\"mi\">1<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC127\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC128\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">else<\/span> <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">hasQuotes<\/span><span class=\"p\">(<\/span><span class=\"nx\">param<\/span><span class=\"p\">.<\/span><span class=\"nx\">substring<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"nx\">last<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">1<\/span><span class=\"p\">)))<\/span><\/div><div class=\"line\" id=\"LC129\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC130\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;extra quotes found&#39;<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC131\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span> <span class=\"mi\">1<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC132\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC133\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC134\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">else<\/span> <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">hasQuotes<\/span><span class=\"p\">(<\/span><span class=\"nx\">param<\/span><span class=\"p\">))<\/span><\/div><div class=\"line\" id=\"LC135\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC136\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span> <span class=\"mi\">1<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC137\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC138\">&nbsp;<\/div><div class=\"line\" id=\"LC139\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC140\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC141\">&nbsp;<\/div><div class=\"line\" id=\"LC142\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">function<\/span> <span class=\"nx\">parseBBCode<\/span><span class=\"p\">(<\/span><span class=\"nx\">content<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC143\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC144\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">content<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span> <span class=\"o\">==<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC145\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span> <span class=\"kc\">true<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC146\">&nbsp;<\/div><div class=\"line\" id=\"LC147\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">depth<\/span> <span class=\"o\">&lt;<\/span> <span class=\"mi\">1000<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC148\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">depth<\/span><span class=\"o\">++<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC149\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">else<\/span><\/div><div class=\"line\" id=\"LC150\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">throw<\/span> <span class=\"s2\">&quot;Max depth of 1000 recursion reached&quot;<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC151\">&nbsp;<\/div><div class=\"line\" id=\"LC152\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">var<\/span> <span class=\"nx\">head<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">content<\/span><span class=\"p\">.<\/span><span class=\"nx\">indexOf<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;[&#39;<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC153\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">var<\/span> <span class=\"nx\">tail<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">content<\/span><span class=\"p\">.<\/span><span class=\"nx\">indexOf<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;]&#39;<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC154\">&nbsp;<\/div><div class=\"line\" id=\"LC155\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span> <span class=\"nx\">head<\/span> <span class=\"o\">==<\/span> <span class=\"o\">-<\/span><span class=\"mi\">1<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"nx\">tail<\/span> <span class=\"o\">==<\/span> <span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC156\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"c1\">// no bbcode<\/span><\/div><div class=\"line\" id=\"LC157\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span> <span class=\"kc\">true<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC158\">&nbsp;<\/div><div class=\"line\" id=\"LC159\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">((<\/span><span class=\"nx\">head<\/span> <span class=\"o\">==<\/span> <span class=\"o\">-<\/span><span class=\"mi\">1<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"nx\">tail<\/span> <span class=\"o\">&gt;<\/span> <span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span> <span class=\"o\">||<\/span><\/div><div class=\"line\" id=\"LC160\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"nx\">head<\/span> <span class=\"o\">&gt;<\/span> <span class=\"o\">-<\/span><span class=\"mi\">1<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"nx\">tail<\/span> <span class=\"o\">==<\/span> <span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span> <span class=\"o\">||<\/span><\/div><div class=\"line\" id=\"LC161\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">(<\/span><span class=\"nx\">head<\/span> <span class=\"o\">&gt;<\/span> <span class=\"o\">-<\/span><span class=\"mi\">1<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"nx\">tail<\/span> <span class=\"o\">&gt;<\/span> <span class=\"o\">-<\/span><span class=\"mi\">1<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"nx\">head<\/span> <span class=\"o\">&gt;<\/span> <span class=\"nx\">tail<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC162\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC163\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC164\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">errors<\/span><span class=\"o\">++<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC165\">&nbsp;<\/div><div class=\"line\" id=\"LC166\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">info<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;error count: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">errors<\/span> <span class=\"o\">+<\/span> <span class=\"s1\">&#39;::head and tail not match&#39;<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC167\">&nbsp;<\/div><div class=\"line\" id=\"LC168\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC169\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC170\">&nbsp;<\/div><div class=\"line\" id=\"LC171\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">tag<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">content<\/span><span class=\"p\">.<\/span><span class=\"nx\">substring<\/span><span class=\"p\">(<\/span><span class=\"nx\">head<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"nx\">tail<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC172\">&nbsp;<\/div><div class=\"line\" id=\"LC173\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">tag<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span> <span class=\"o\">==<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC174\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">errors<\/span><span class=\"o\">++<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC175\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">info<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;error count: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">errors<\/span> <span class=\"o\">+<\/span> <span class=\"s1\">&#39;::empty tag&#39;<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC176\">&nbsp;<\/div><div class=\"line\" id=\"LC177\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC178\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC179\">&nbsp;<\/div><div class=\"line\" id=\"LC180\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">tag<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">!=<\/span> <span class=\"s1\">&#39;/&#39;<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC181\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"c1\">// open tag<\/span><\/div><div class=\"line\" id=\"LC182\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">info<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;enter opening tag: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">tag<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC183\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"c1\">// check paramters<\/span><\/div><div class=\"line\" id=\"LC184\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">var<\/span> <span class=\"nx\">pos<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">tag<\/span><span class=\"p\">.<\/span><span class=\"nx\">indexOf<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;=&#39;<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC185\">&nbsp;<\/div><div class=\"line\" id=\"LC186\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">pos<\/span> <span class=\"o\">==<\/span> <span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC187\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"nx\">options<\/span><span class=\"p\">[<\/span><span class=\"nx\">tag<\/span><span class=\"p\">])<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC188\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"c1\">// invalid tag<\/span><\/div><div class=\"line\" id=\"LC189\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">errors<\/span><span class=\"o\">++<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC190\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">info<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;error count: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">errors<\/span> <span class=\"o\">+<\/span> <span class=\"s1\">&#39;::invalid tag name -&gt; &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">tag<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC191\">&nbsp;<\/div><div class=\"line\" id=\"LC192\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC193\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC194\">&nbsp;<\/div><div class=\"line\" id=\"LC195\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">options<\/span><span class=\"p\">[<\/span><span class=\"nx\">tag<\/span><span class=\"p\">]<\/span> <span class=\"o\">==<\/span> <span class=\"s1\">&#39;arg&#39;<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC196\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">errors<\/span><span class=\"o\">++<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC197\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">info<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;error count: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">errors<\/span> <span class=\"o\">+<\/span> <span class=\"s1\">&#39;::tag -&gt; &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">tag_name<\/span> <span class=\"o\">+<\/span> <span class=\"s1\">&#39; should have arg&#39;<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC198\">&nbsp;<\/div><div class=\"line\" id=\"LC199\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC200\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC201\">&nbsp;<\/div><div class=\"line\" id=\"LC202\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">stack<\/span><span class=\"p\">.<\/span><span class=\"nx\">push<\/span><span class=\"p\">(<\/span><span class=\"nx\">tag<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC203\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC204\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"kd\">var<\/span> <span class=\"nx\">tag_name<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">tag<\/span><span class=\"p\">.<\/span><span class=\"nx\">substring<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"nx\">pos<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC205\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"nx\">options<\/span><span class=\"p\">[<\/span><span class=\"nx\">tag_name<\/span><span class=\"p\">])<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC206\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"c1\">// invalid tag<\/span><\/div><div class=\"line\" id=\"LC207\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">errors<\/span><span class=\"o\">++<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC208\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">info<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;error count: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">errors<\/span> <span class=\"o\">+<\/span> <span class=\"s1\">&#39;::invalid tag name -&gt; &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">tag_name<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC209\">&nbsp;<\/div><div class=\"line\" id=\"LC210\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC211\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC212\">&nbsp;<\/div><div class=\"line\" id=\"LC213\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">options<\/span><span class=\"p\">[<\/span><span class=\"nx\">tag_name<\/span><span class=\"p\">]<\/span> <span class=\"o\">==<\/span> <span class=\"s1\">&#39;no_arg&#39;<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC214\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">errors<\/span><span class=\"o\">++<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC215\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">info<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;error count: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">errors<\/span> <span class=\"o\">+<\/span> <span class=\"s1\">&#39;::tag -&gt; &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">tag_name<\/span> <span class=\"o\">+<\/span> <span class=\"s1\">&#39; should have no arg&#39;<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC216\">&nbsp;<\/div><div class=\"line\" id=\"LC217\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC218\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC219\">&nbsp;<\/div><div class=\"line\" id=\"LC220\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">errors<\/span> <span class=\"o\">+=<\/span> <span class=\"nx\">checkParam<\/span><span class=\"p\">(<\/span><span class=\"nx\">tag<\/span><span class=\"p\">.<\/span><span class=\"nx\">substring<\/span><span class=\"p\">(<\/span><span class=\"nx\">pos<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span><span class=\"p\">));<\/span><\/div><div class=\"line\" id=\"LC221\">&nbsp;<\/div><div class=\"line\" id=\"LC222\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">errors<\/span> <span class=\"o\">&gt;<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC223\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC224\">&nbsp;<\/div><div class=\"line\" id=\"LC225\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">stack<\/span><span class=\"p\">.<\/span><span class=\"nx\">push<\/span><span class=\"p\">(<\/span><span class=\"nx\">tag_name<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC226\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC227\">&nbsp;<\/div><div class=\"line\" id=\"LC228\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">unmatched<\/span> <span class=\"o\">++<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC229\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">info<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;unmatch count: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">unmatched<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC230\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC231\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"c1\">// close tag<\/span><\/div><div class=\"line\" id=\"LC232\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">tag_name<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">tag<\/span><span class=\"p\">.<\/span><span class=\"nx\">substring<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC233\">&nbsp;<\/div><div class=\"line\" id=\"LC234\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"nx\">options<\/span><span class=\"p\">[<\/span><span class=\"nx\">tag_name<\/span><span class=\"p\">])<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC235\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"c1\">// invalid tag<\/span><\/div><div class=\"line\" id=\"LC236\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">errors<\/span><span class=\"o\">++<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC237\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">info<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;error count: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">errors<\/span> <span class=\"o\">+<\/span> <span class=\"s1\">&#39;::invalid tag name or empty tag -&gt; &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">tag_name<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC238\">&nbsp;<\/div><div class=\"line\" id=\"LC239\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC240\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC241\">&nbsp;<\/div><div class=\"line\" id=\"LC242\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">info<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;enter close tag: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">tag<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC243\">&nbsp;<\/div><div class=\"line\" id=\"LC244\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">unmatched<\/span> <span class=\"o\">--<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC245\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">info<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;unmatch count: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">unmatched<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC246\">&nbsp;<\/div><div class=\"line\" id=\"LC247\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">stack<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span> <span class=\"o\">==<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC248\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">errors<\/span><span class=\"o\">++<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC249\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">info<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;error count: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">errors<\/span> <span class=\"o\">+<\/span> <span class=\"s1\">&#39;::stack is empty, too many close tag&#39;<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC250\">&nbsp;<\/div><div class=\"line\" id=\"LC251\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC252\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC253\">&nbsp;<\/div><div class=\"line\" id=\"LC254\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"c1\">// check if the open tag and closing tag is match <\/span><\/div><div class=\"line\" id=\"LC255\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">open<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">stack<\/span><span class=\"p\">.<\/span><span class=\"nx\">pop<\/span><span class=\"p\">();<\/span><\/div><div class=\"line\" id=\"LC256\">&nbsp;<\/div><div class=\"line\" id=\"LC257\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">open<\/span> <span class=\"o\">!=<\/span> <span class=\"nx\">tag_name<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"LC258\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC259\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">in_array<\/span><span class=\"p\">(<\/span><span class=\"nx\">open<\/span><span class=\"p\">,<\/span> <span class=\"nx\">strictRule<\/span><span class=\"p\">,<\/span> <span class=\"kc\">true<\/span><span class=\"p\">)<\/span> <span class=\"o\">||<\/span> <span class=\"nx\">in_array<\/span><span class=\"p\">(<\/span><span class=\"nx\">tag_name<\/span><span class=\"p\">,<\/span> <span class=\"nx\">strictRule<\/span><span class=\"p\">,<\/span> <span class=\"kc\">true<\/span><span class=\"p\">))<\/span><\/div><div class=\"line\" id=\"LC260\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC261\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">errors<\/span><span class=\"o\">++<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC262\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">info<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;error count: &#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">errors<\/span> <span class=\"o\">+<\/span> <span class=\"s1\">&#39;::have strict tag but not match -&gt; open=&#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">open<\/span> <span class=\"o\">+<\/span> <span class=\"s1\">&#39; and close=&#39;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">tag_name<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC263\">&nbsp;<\/div><div class=\"line\" id=\"LC264\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">return<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC265\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC266\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC267\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC268\">&nbsp;<\/div><div class=\"line\" id=\"LC269\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nx\">parseBBCode<\/span><span class=\"p\">(<\/span><span class=\"nx\">content<\/span><span class=\"p\">.<\/span><span class=\"nx\">substring<\/span><span class=\"p\">(<\/span><span class=\"nx\">tail<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span><span class=\"p\">));<\/span><\/div><div class=\"line\" id=\"LC270\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC271\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC272\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC273\"><span class=\"p\">})();<\/span><\/div><div class=\"line\" id=\"LC274\">&nbsp;<\/div><\/pre><\/div>\n          \n        <\/div>\n\n        <div class=\"gist-meta\">\n          <a href=\"http://gist.github.com/raw/67964/d682267171b1a4476bd91b926d83353e1f918e5f/isValidBBCode.js\" style=\"float:right;\">view raw<\/a>\n          <a href=\"http://gist.github.com/67964#file_is_valid_bb_code.js\" style=\"float:right;margin-right:10px;color:#666\">isValidBBCode.js<\/a>\n          <a href=\"http://gist.github.com/67964\">This Gist<\/a> brought to you by <a href=\"http://github.com\">GitHub<\/a>.\n        <\/div>\n      <\/div>\n    \n  \n<\/div>\n')
