Я хочу реализовать некоторые простые операции по уценке, как показано ниже на моем веб-сайте.Я попытался заменить *
на <b>
и **
на </b>
, затем понял, что это не сработает легко в Jquery.
Я также понял, когда писал этот фрагмент, что это только первыйзвезда заменяется <b>
тегом , в то время как на моем сайте ничего не заменяется этим кодом .
$(document).ready(function () {
$("#convertBtn").on("click", function () {
$('#questionDisplay').text($("#questionEdit").val());
$('#questionDisplay').html($('#questionDisplay').text().replace('**', '</b>'));
$('#questionDisplay').html($('#questionDisplay').text().replace('*', '<b>'));
})
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea id="questionEdit" rows="5" style="width: 500px;">The user types here many *bold** and *secondBold** texts. The convert button should change the stars to html tags.</textarea>
<button id="convertBtn">Convert</button>
<p>Display: </p>
<p id="questionDisplay"></p>
Я смотрел на подобные вопросы с решениями regEx или любыми другими методами, но я не понимал работу.Итак, дела обстоят так:
- Каково лучшее решение для замены текстовых тегов html в Jquery?
- Не один раз, а для всех случаев.
- И этобыло бы лучше, если бы это было возможно только с одной звездочкой, например
*boldText*
, а не с двумя звездами в конце.Я пытался сделать это с помощью приведенного ниже кода, но не удалось:
$('#questionDisplay').html($('#questionDisplay').html().replace(/_(.*)__/gi, "<b>$1</b>"));
Любая помощь будет оценена!