javascript - Markdown 在 javascript 中将双星号转换为粗体文本

标签 javascript jquery markdown wysiwym

我正在尝试像 Stackoverflow 那样制作我自己的可 Markdown 文本区域。目标是让人们输入 **blah blah**在文本区域中,并在 div 中输出 <span style="font-weight:bold;">blah blah</span> .

我在使用 JavaScript 查找和替换为 HTML 的 ** 星号时遇到问题。

这是一个让聚会开始的 jsfiddle:http://jsfiddle.net/trpeters1/2LAL4/14/

这里的 JS 只是为了向您展示我的位置:

$(document.body).on('click', 'button', function() {

var val=$('textarea').val();

var bolded=val.replace(/\**[A-z][0-9]**/gi, '<span style="font-weight:bold;">"'+val+'" </span>');

$('div').html(bolded);
});

和 HTML...

<textarea></textarea>
<div></div><button type="button">Markdownify</button>

如有任何想法,我们将不胜感激!

谢谢, 蒂姆

最佳答案

当星号紧接在星号之前或之后时,其他答案将失败。

这就像 Markdown 一样:

function bold(text){
    var bold = /\*\*(.*?)\*\*/gm;
    var html = text.replace(bold, '<strong>$1</strong>');            
    return html;
}
    
var result = bold('normal**bold**normal **b** n.');
document.getElementById("output").innerHTML = result;
div { color: #aaa; }
strong { color: #000; }
<div id="output"></div>

关于javascript - Markdown 在 javascript 中将双星号转换为粗体文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10168285/

相关文章:

javascript - 折叠父 div 的所有子项

javascript - 如何从 Javascript 中的迭代器内部返回一个值

python - 转换超链接

styles - 修复 Notepad++ 中的 Markdown 样式

jquery - 如何在不破坏每个 <ul> 位置的情况下向嵌套 <ul> 列表中的每个 <ul> 添加滚动条

regex - 如何从Markdown中提取链接

javascript - 未定义子节点

JavaScript "window": What is its purpose? 它有什么作用?

javascript - 在 React Router V4 中隐藏特定路线上的导航?

javascript - 通过clone()实现对象继承是如何工作的?