parser: Render <code> and <blockquote> preformated
This commit is contained in:
orang tua
78b9e5e043
melakukan
fbfe5510a1
11
parser.cpp
11
parser.cpp
@ -155,8 +155,11 @@ std::string Parser::parse(const PageDao &pagedao, UrlProvider &provider, const s
|
||||
{
|
||||
std::string tag = match.str(1);
|
||||
std::string content = match.str(2);
|
||||
std::string justreplace[] = {"b", "i", "u", "ul", "li", "ol", "code", "blockquote"};
|
||||
content = parse(pagedao, provider, content, callback);
|
||||
std::string justreplace[] = {"b", "i", "u", "ul", "li", "ol"};
|
||||
if(tag != "code" && tag != "blockquote")
|
||||
{
|
||||
content = parse(pagedao, provider, content, callback);
|
||||
}
|
||||
if(std::find(std::begin(justreplace), std::end(justreplace), tag) != std::end(justreplace))
|
||||
{
|
||||
return "<" + tag + ">" + content + "</" + tag + ">";
|
||||
@ -175,6 +178,10 @@ std::string Parser::parse(const PageDao &pagedao, UrlProvider &provider, const s
|
||||
{
|
||||
return "<" + tag + " id='" + content + "'>" + content + "</" + tag + ">";
|
||||
}
|
||||
if(tag == "code" || tag == "blockquote")
|
||||
{
|
||||
return "<pre><" + tag + ">"+ utils::strreplace(content, "\r\n", "\n") + "</"+tag+"></pre>";
|
||||
}
|
||||
return callback(tag, content);
|
||||
});
|
||||
result = utils::strreplace(result, "\r\n", "<br>");
|
||||
|
Memuat…
Reference in New Issue
Block a user