2011-11-01 73 views
2

內,如果一個HTML你會如何使用jQuery或JavaScript內<pre> 爲代碼的輸出與替換&lt;<任何上述應該是替換<與<元件

<pre> 
<img src="imagesrc"></img> 
</pre> 

<pre> 
&lt;img src="imagesrc">&lt;/img> 
</pre> 
+0

你打算申請這個嗎? JavaScript應該處理包含此html的字符串,還是應該將此更改應用於當前文檔。 –

回答

1

你們是不是這樣呢?

HTML:

<pre> 
<img src="imagesrc"></img> 
</pre> 

的Javascript:

$(function() { 
    var $pre = $('pre'); 
    $pre.html($pre.html().replace(/</g, '&lt;').replace(/>/g, '&gt;')); 
}); 
+0

thankyou it works –

1

這裏一個jsFiddle

$('pre').html(function(){$(this).html().replace('<', '&lt;')}); 
4

你可能想HtmlEncode and HtmlDecode

function htmlEncode(value){ 
    return $('<div/>').text(value).html(); 
} 

function htmlDecode(value){ 
    return $('<div/>').html(value).text(); 
} 
+0

...除非你有一個很好的理由來編碼< –

+0

對於'decode',我建議**不要**使用jQuery'.html()'。 'value'還可以包含'',它將在設置'innerHTML'屬性時執行。請參閱「解碼」解決方案的答案:http://stackoverflow.com/questions/7394748/whats-the-right-way-to-decode-a-string-that-has-special-html-entities-in- it/7394787#7394787 –

0

var $pre = $('pre'); 
 
for (var i = 0; i < $pre.length; i++) { 
 
    var pattern = $pre[i].innerHTML; 
 
    pattern = pattern.replace(/</g,'&lt;').replace(/>/g,'&gt;'); 
 
    console.log(pattern); 
 
    $pre[i].innerHTML = pattern; 
 
}

你可以試試這個,如果你有你的文檔中的多個預標記。