我正在创建一个网站,其中的代码将在 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 的 pre 标签的东西都不会有 < > 标签。会有 > 和 <,但没有封闭的 < > 标签。脚本语言不使用它。所以这意味着我真正需要的只是提取任何封闭的 < > 标签。
最佳答案
在 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 解析器
关于php - PRE 标记到纯文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1811420/