2011-12-08 114 views
0

我在網頁上有一些文本,我想將其呈現爲HTML。文字看起來像這樣:將頁面文本轉換爲HTML

<p> 
    <span style="font-family: Arial"> 
     <span style="font-size: x-small"> 
      <img border="5" hspace="10" alt="" align="left" width="200" height="150" src="/Solutions/image/Lighthouse.jpg" /> 

我想將它顯示爲HTML ie。元素正確渲染。它被設置成span與ID:使用jQuery或Javascript

<span class="VIEWBOX" id="_Datasoln_solutiondetails"> 

如何才能實現這一目標?

+0

文字在哪裏?在一個變量? textarea的? –

+0

它只是在span標籤後打印爲文本 –

+0

如果將文本放入HTML文件中,那麼...它已經是HTML?我很困惑。 –

回答

1

你是說,你的網頁上所提供的HTML看起來像這樣,當頁面加載?

<p> 
    <span style="font-family: Arial"> 
    <span style="font-size: x-small"> 
     <img border="5" hspace="10" alt="" align="left" width="200" height="150" src="/Solutions/image/Lighthouse.jpg" /> 
    [missing /span] 
    [missing /span] 
[missing /p] 

或者只是在編程/腳本編寫過程中準備好的html或文本?

要回答這個問題,我假設你已經有了你的網頁上的某個文本/ html。


因此,在這種情況下,如果你不能控制上述HTML片段如何獲取您的頁面上,你可以讓jQuery來變換代碼。並會有一些功夫的戰鬥,

你是說你已經有了身份證的SPAN?或者你會注入(或追加它)到現有的HTML?

<span class="VIEWBOX" id="_Datasoln_solutiondetails"> 

現在,我猜測帶有ID的SPAN還不存在。在這種情況下,請沿着這些方向行事:

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Library Contents</title> 
    <script type="text/javascript" src="js/jquery-1.7.min.js"></script> 
    <script type="text/javascript"> 
    $(document).ready(function(){ 
// GET THE IMAGE AS A REFERENCE POINT 
var x = $("img[src='/Solutions/image/Lighthouse.jpg']"); 
// TEST 
//  $(x).hide(); 

// GET THE IMAGE HTML TAG 
var htmlStr = $(x).parent().html(); 
// TEST 
console.log("htmlStr: " + htmlStr); 

// DESIRED HTML 
var newHtml = '<span class="VIEWBOX" id="_Datasoln_solutiondetails">' + htmlStr + '</span>'; 
// TEST 
// console.log("newHtml: " + newHtml); 
$(x).parent().parent().replaceWith(newHtml); 
}); 
</script> 
</head> 
<body> 
    <p> 
    <span style="font-family: Arial"> 
     <span style="font-size: x-small"> 
     <img border="5" hspace="10" alt="" align="left" width="200" height="150" src="/Solutions/image/Lighthouse.jpg" /> 
     </span> 
    </span> 
    </p> 
</body> 
</html> 
0

您可以使用正則表達式來做到這一點,使用javascript:

varname.replace(/<(span|p) [a-zA-Z0-9=":; -/]+>/g, /<$1 id="newid" class="newclass">/g); 

您可以更改跨度| P跨越| P | B | IMG等去接其他的標籤,你會喜歡的。

更新:

var str = '<p> <span style="font-family: Arial"><span style="font-size: x-small"><img border="5" hspace="10" alt="" align="left" width="200" height="150" src="/Solutions/image/Lighthouse.jpg" />'; 
var newvar = str.replace(/<(span|p) [a-zA-Z0-9=":; -/]+>/g, /<$1 id="newid" class="newclass">/g); 
alert(newvar); 
+0

你能證明這一點嗎? –