optimize/improve parser regex
This commit is contained in:
parent
da2a5b10fe
commit
c1812edd07
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);
|
||||
|
Caricamento…
Fai riferimento in un nuovo problema
Block a user