Kontekst: Edytor tekstowy na stronie internetowej, który ma za zadanie obsługiwać coś a'la markdown u nas na forum :D
Input:
Hi! could anyone help me with this code, because I struggle to understand what's going on here: var a = 5 Thanks!
Podejście 1 (naiwne) - Replace: zbieramy wszystkie indeksy stringu "**" i te na parzystych indeksach zamieniamy na <b>
, a na nieparzystych na </b>
.
output =
Hi! could anyone help me with this code, because I struggle to understand what's going on here:
<b>
var a = 5</b>
Thanks!
Podejście 2 (znacznie lepsze) - Parser / Abstract Syntax Tree Array
[
{
"Type": "Text",
"Content": "Hi! could anyone help me with this code, because I struggle to understand what\u0027s going on here: "
},
{
"Type": "BoldText",
"Content": "var a = 5"
},
{
"Type": "Text",
"Content": " Thanks!"
}
]
a następnie renderowanie tego
Drugi sposób wydaje mi się o wiele lepszy i bezpieczniejszy, ale nie mam pomysłu jaka podatność jest w 1 podejściu