У меня есть textarea
, где пользователь вводит свои коды и тег div
, где он отображает, как он будет отображаться на веб-странице. Я использую пользовательские теги для форматирования кодов пользователей, таких как [b]bold text[/b]
, а не <b>bold text </b>
Я использую функцию string.replace()
для замены пользовательского тега с оригинальным кодом для предварительного просмотра тегов. Но как можно использовать косую черту (/
) как совпадающий шаблониспользуя косую черту как соответствующий шаблон в regex
Я уже прошел, хотя пары знают метод. Я попытался
string.replace(/[\/b]/gi,"</b>");
string.replace(/[\x2Fb]/gi,"</b>");
string.replace(/[\x2F b]/gi,"</b>");
Вот код, как я на самом деле делать это в моем проекте
//Helper Function
function $(id){
return document.getElementById(id);
}
//Helper Variables//
//Display Preview of question
function render(){//
var question_content = $("question_content").value;
//Sanitizing data//
var entitles = {//List of all Html entitles & custum entitles
'<':"<",
'>':">",
'\n':"<br>",
'[b]':"<b>",
'[/b]':"</b>",
'[i]':"<i>",
'[/i]':"</i>",
'[code]':"<code class='prettyprint'>",
'[/code]':"</code>"
}
question_content = question_content.replace(/<|>|\n|[b]|[\/b]/gi, function (html_ent){return entitles[html_ent];});
//question_content = question_content.replace(/'/, "</b>");
var preview = $("preview");
preview.innerHTML = question_content;
//prettyPrint();
}