2011-09-20 50 views
0

我使用這在我的所見即所得更換如何使用jQuery的Javascript更換

< pre> Hi my name is< /pre> 

< div id="precode">Hi my name is< /div> 

這是工作的代碼代碼

v=v.replace(/<pre>(.*)<\/pre>/gim,'<div id="precode">$1</div>'); 

這工作正常除非字符串包含<>

編輯這是代碼

if(div){div.innerHTML=this.obj.toggletext||'Spell Check'} 
$('#spellcheck_words').slideToggle('slow', function() { }); 
if(this.xhtml&&!this.ie){ 
v=v.replace(/<strong>(.*)<\/strong>/gi,'<span style="font-weight: bold;">$1</span>');    
v=v.replace(/(<img [^>]+[^\/])>/gi,'$1/>') 
v=v.replace(/<em>(.*)<\/em>/gi,'<span style="font-weight: italic;">$1</span>') 
} 

編輯

+1

你應該把你的問題描述爲...問題 –

+0

對不起,我會記住 – MHowey

回答

2

或者:

v=v.replace(/<pre>((?:.|[\r\n])*)<\/pre>/gim,'<div id="precode">$1</div>'); 

問題不在於<br/>,但換行字符。

+0

這工作完美,謝謝 – MHowey

4
$('pre').replaceWith('<div>'+$(this).html()+'</div>'); 
3

使用

$('pre').replaceWith('<div>'+$(this).html()+'</div>'); 

所以HTML被越過。

+0

只是意識到謝謝!編輯。 –

+0

沒問題摩根 –