optimize/improve parser regex
Este cometimento está contido em:
		
							
								
								
									
										9
									
								
								TODO
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								TODO
									
									
									
									
									
								
							| @@ -1,9 +0,0 @@ | ||||
| search: allow all chars (filter sqlite match syntax) | ||||
| add permission indicating whether user can see "invisible" pages in lists | ||||
| diff | ||||
| Redirection | ||||
| UI for permission system. | ||||
| user administration | ||||
| user registration | ||||
| more caching | ||||
| not all config values take effect yet. | ||||
| @@ -120,7 +120,8 @@ 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"(\[(.*?)\]((\s|\S)*?)\[/\1\])"); | ||||
| 	// we don't care about commands, but we nevertheless replace them with empty strings | ||||
| 	std::regex tagfinder(R"(\[(b|i|u|li||ul|ol|link|wikilink|h\d|cmd:rename|cmd:redirect)*?\]((\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); | ||||
|   | ||||
		Criar uma nova questão referindo esta
	
	Bloquear um utilizador