php - PRE 标记到纯文本

标签 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 的 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/

相关文章:

java - 通过 php 启动和停止 minecraft(java 进程)

Javascript 用 8 和 9 替换字符串不起作用......但其他数字可以......?

需要 html5 验证 setCustomValidity

html - HTML 表单提交标签之间的区别

java - Play框架2识别 session 超时的用户

javascript - 背面可见性在 IE11 中不起作用

php - Jquery 解析字符串中的 HTML

php - 写入 database.php 并在 codeigniter 中创建文件

php - 如何防止从 zip 中提取 php 文件

javascript - 使用谷歌搜索 url