parser: fix multiline and nested parsing
这个提交包含在:
		@@ -99,11 +99,12 @@ std::string Parser::processLink(const PageDao &pageDao, UrlProvider &urlProvider
 | 
			
		||||
std::string Parser::parse(const PageDao &pagedao, UrlProvider &provider, std::string content) const
 | 
			
		||||
{
 | 
			
		||||
	std::string result;
 | 
			
		||||
	std::regex tagfinder(R"(\[(.*?)\](.*?)\[/\1\])");
 | 
			
		||||
	std::regex tagfinder(R"(\[(.*?)\]((\s|\S)*?)\[/\1\])");
 | 
			
		||||
	result = utils::regex_callback_replacer(tagfinder, content, [&](std::smatch &match) {
 | 
			
		||||
		std::string tag = match.str(1);
 | 
			
		||||
		std::string content = match.str(2);
 | 
			
		||||
		std::string justreplace[] = {"b", "i", "u"};
 | 
			
		||||
		std::string justreplace[] = {"b", "i", "u", "ul", "li", "ol"};
 | 
			
		||||
		content = parse(pagedao, provider, content);
 | 
			
		||||
		if(std::find(std::begin(justreplace), std::end(justreplace), tag) != std::end(justreplace))
 | 
			
		||||
		{
 | 
			
		||||
			return "<" + tag + ">" + content + "</" + tag + ">";
 | 
			
		||||
 
 | 
			
		||||
		在新工单中引用
	
	屏蔽一个用户