tim*_*son 8 javascript markdown jquery wysiwym
我正在尝试像Stackoverflow那样制作我自己的可降价的textarea.目标是允许人们键入**blah blah**textarea并将输出放在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);
});
Run Code Online (Sandbox Code Playgroud)
和HTML ...
<textarea></textarea>
<div></div><button type="button">Markdownify</button>
Run Code Online (Sandbox Code Playgroud)
任何想法将不胜感激!
谢谢,蒂姆
Jus*_*tin 11
当字母紧跟在星号之前或之后,其他答案都会失败.
这有点像降价应该:
function boldText(text){
var bold = /\*\*(\S(.*?\S)?)\*\*/gm;
var html = text.replace(bold, '<strong>$1</strong>');
return html;
}
alert(boldText('te**st**ing'));
Run Code Online (Sandbox Code Playgroud)
aro*_*oth -2
一方面,您的正则表达式已损坏。你可能想要更多类似的东西:
/\*\*[A-z0-9]+\*\*/gi
Run Code Online (Sandbox Code Playgroud)
是*正则表达式中的特殊字符。如果你想匹配文字*,那么你需要用 来转义它\。
例如: http: //jsfiddle.net/2LAL4/22/
然而,即使有了这样的改变,在你到达你真正想要的地方之前,仍然有很长的路要走。例如,如果文本区域包含粗体和非粗体文本的混合,您的示例将不起作用。
| 归档时间: |
|
| 查看次数: |
4878 次 |
| 最近记录: |