簡単な質問、私はダブルアスタリスクから太字に変換したいmarkdown HTMLコンテンツがあります。javascriptの一致するテキスト
私は取得していますエラーは次のとおりです。 `キャッチされない例外TypeErrorは:ここ
「ヌルの '置き換え' メソッドを呼び出すことはできませんですjsfiddle:ここhttp://jsfiddle.net/fz5ZT/9/
のHTML:
<div class="comments">comment 1** is good**</div>
<div class="comments">comment 2**is bad**</div>
がここにありますJS:
function markdown(markdownable){
var boldMatch = markdownable.match(/\*\*[A-Za-z0-9]+\*\*/gim),
boldReplace = boldMatch.replace(/\*\*[A-z0-9]+\*\*/gim, '<span style="font- weight:bold;color:blue;">'+boldMatch+'</span>'),
markdownable = markdownable.replace(boldMatch, boldReplace),
markdownable = markdownable.replace(/\*\*/gi, "");
return markdownable;
}
$('.comments').each(function(){
var markdownable=$(this).html(), comments=markdown(markdownable);
});
もし私がgreを助けることができるのであればatly、
おかげで、 ティム
更新おかげですべてをそれに感謝! http://jsfiddle.net/fz5ZT/30/
太字のrexepが一致しない場合、 "boldMatch"はnullになります。 "null"には、(プロトタイプの)プロパティが "replace"して呼び出すことができません - エラーをスローします。 – Bergi
Bergiに感謝しますが、なぜなら私はそれにダブルアスタリスクを含むテキストを含む変数 'mardownable'を与えていると" boldMatch "はnullですか?一致してはいけませんか? –
いいえ、いずれの正規表現でも一致しないマークダウン可能な空白があります。 – Bergi