/ / Как да внедрим <blockquote> и <code> в текста? - javascript, jquery, html, регекс

Как да внедрим <blockquote> и <code> в текста? - javascript, jquery, html, регекс

Аз се опитвам да създам 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>");