2016-07-07 4 views
1

HTMLテキストがあります。特定のクラスのアンカータグをjqueryのテキストに置きたいと思います。例えば特定のクラスのアンカータグをテキストに置き換えるためのjavascriptの正規表現

var htmltext="test message <a class="red pagtag" href="#" contenteditable="false">Harshvardhan Rane</a> test <br> <a class="red pagtag" href="#" contenteditable="false">Jay Alvarrez</a>"; 

は、私は、テキストと全体のアンカータグを置き換えたいです。

必要な出力:

var htmltext="test message **Harshvardhan Rane** test <br> **Jay Alvarrez**"; 

答えて

3

正規表現でHTMLを変更することをお勧めことはありません。あなたはjQueryのはもちろんのことから 代わりに、ノード操作ツールを使用します。この文は正確に何を返すべき

htmltext.replace(/<\/*a.*?>/g,'**') 

:次の正規表現で

var htmltext='test message <a class="red pagtag" href="#" contenteditable="false">Harshvardhan Rane</a> test <br> <a class="red pagtag" href="#" contenteditable="false">Jay Alvarrez</a>'; 
 
var $html = $("<div/>").html(htmltext); 
 
$html.find("a").each(function() { 
 
    $(this).replaceWith("**"+$(this).text()+"**"); 
 
}); 
 
$("body").append($html)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

2

てみ使用方法replaceをあなたが必要です。

var htmltext='test message <a class="red pagtag" href="#" contenteditable="false">Harshvardhan Rane</a> test <br> <a class="red pagtag" href="#" contenteditable="false">Jay Alvarrez</a>'; 
 

 
htmltext=htmltext.replace(/<\/*a.*?>/g,'**'); 
 
console.log(htmltext);

+0

それはそうです。私はまだDOMやこの場合はjQueryを使ってタグを操作する方が好きです – mplungjan

関連する問題