Аз се опитвам да създам textarea точно като SO textarea, когато искате да напишете въпрос / отговор.Сега почти го направих:
function generate(text) {
text = text.replace(/**(.*?)**/g, "<b>$1</b>");
text = text.replace(/__(.*?)__/g, "<u>$1</u>");
text = text.replace(/*(.*?)*/g, "<i>$1</i>");
text = text.replace(/--(.*?)--/g, "<del>$1</del>");
text = text.replace(/`(.*?)`/g, "<code>$1</code>");
document.getElementById("out").innerHTML = text
}
<textarea id="Q&A" oninput="generate(this.value)" name="txtarea" rows="4" cols="50"></textarea>
<div id="out"></div>
Но не мога да създам добър реге за замяна >
с <blockquote>
и или "" "или" 4[space]
замени с <code>
тагове. Все пак аз написах регекс за blockquote:
text = text.replace(/>(.*?)(n|$)+/g, "<blockquote>$1</blockquote>");
Но това също не работи. И така, може ли някой да го поправи?
Отговори:
0 за отговор № 1Все пак аз написах регекс за blockquote:
text = text.replace(/>(.*?)(n|$)+/g, "<blockquote>$1</blockquote>");
Но това също не работи. И така, може ли някой да го поправи?
Със сигурност не искате да замените >
в средата на линията, така че използвайте граничния знак ^
заедно с флага на многоликата m
(съвпадение на началото на входа и също веднага след прекъсване на линията):
text = text.replace(/^>(.*?)(n|$)+/gm, "<blockquote>$1</blockquote>");