0

在使用源代码编辑 HTML 文件时,我有时会遇到这个问题:

例如

<p>C uses statement <pre>include <stdio.h></pre> to include a library</p>

我必须手动将其更改<stdio.h>&lt;stdio.h&lt;使其正常显示。

考虑到经常在这种混合情况下工作,这种手动更改会耗费大量时间。

有什么好的解决办法吗?

4

3 回答 3

1

您无需更改大于号“>”。它经常被逃避,但这只是一种习惯,在许多人看来是对称的。但只有小于号“<” 需要逃脱。

如果工作量太大,请考虑使用例如编辑器,在其中复制并粘贴要插入的代码并运行全局替换,替换“<” 通过&lt; “&” 由&amp;.

避免在 HTML 中转义的唯一方法是使用xmp元素,例如<p>C uses statement <xmp>include <stdio.h></xmp> to include a library</p>. 然而,xmp它是非标准的(尽管普遍支持)并且默认呈现为块,最糟糕的是,这里被解析为块元素,即<xml>标签隐式关闭打开的p元素,这当然会影响呈现。所以对于内联代码示例xmp来说不是那么实用。

于 2013-05-11T21:42:53.320 回答
0

大多数文本编辑器,甚至Notepad带有查找和替换选项,将您的代码粘贴到那里,然后使用查找和替换选项将所有内容更改<&lt;>&gt;

于 2013-05-22T11:13:44.727 回答
-1

您可以考虑多种选择

Javascript 使用 javascript 执行以下操作:

var element = document.getElementsByClassName("code");
//get the innerHTML and change < to &lt; and > to &gt;
element.innerHTML = element.innerHTML.replace(/\</g,"&lt;").replace(/\>/g,"&gt;");

这将寻找一个带有“代码”类的元素,读取它的输入并将其更改为适当的形式。

PHP 或其他服务器端语言 在 PHP 中,您可以使用 htmlspecialchars()。您可以在 PHP 中读出一个文件并在其上使用 htmlspecialchars(可能有成千上万的关于如何在线执行此操作的教程)

将 bash (或任何脚本) 与 sed 一起使用,您可以使用:

sed -e 's/\</\&#60;/g' -e 's/\>/\&#62;/g' filename.c > newfile.html

这将获取您提供的文件(filename.c)并将所有 < 和 > 更改为适当的内容并将输出存储在 newfile.html 中。现在您可以从 newfile 中复制粘贴内容。

如果 这是一个网站,我建议你在服务器端对文本进行编码(使用 PHP 的东西)。如果是静态站点,使用 sed 可能更有用。如果每个网页只有几个字符,我建议你手动完成。(或使用所见即所得的编辑器)

于 2013-05-11T17:28:08.663 回答