PRE标记为纯文本

时间:2009-11-28 03:07:22

标签: php javascript html

我正在建立一个网站,代码将在PRE标签中显示为纯文本(没有突出显示,评论,没有编辑标签),我希望他们能够点击按钮并突出显示,评论和编辑要显示的代码(也在预标签中)。

显然我必须在某处存储突出显示的HTML代码,但我正在寻找像html2text这样的函数,它将采用编辑过的PRE标记的每个本质,并将其转换为纯文本PRE标记的纯文本

例如像

这样的东西
<pre> 
<b>ON SELECT</b> 
{
   "<edit title="This will be the filename.">beep.wav</edit>" SOUND
}
</pre> 

这样的事情

<pre> 
ON SELECT 
{
   beep.wav SOUND
}
</pre> 

编辑:任何会出现在非html的预标签中的东西都不会有&lt; &GT;标签。会有&gt;和&lt;'s但不是一个封闭的&lt; &GT;标签。脚本语言不使用它。所以这意味着我真正需要的是提取任何已关闭的&lt; &GT;标签

1 个答案:

答案 0 :(得分:2)

在Javascript中,您可以使用DOM函数+正则表达式

<body>
<pre> 
<b>ON SELECT</b> 
{
   "<edit title="This will be the filename.">beep.wav</edit>" SOUND
}
</pre>

<textarea id="result" rows=10 cols=50></textarea>

<script>
    x=document.getElementsByTagName("pre");
    for(i in x){
        text=x[i].innerHTML.replace(/<.*?>/g,'');
        text=text.replace(/"/g,'');
        document.getElementById("result").value+="<pre>"+text+"</pre>";
    }
</script>
</body>

您将给出预期结果,根据您的需要进行调整。

<pre> 
ON SELECT 
{
   beep.wav SOUND
}
</pre>

或在PHP中,您可以使用一些HTML解析器