2011-12-08 89 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

你能证明这一点吗? –