使用源代码编辑HTML文件时,我有时会遇到这个问题:
E.g。
<p>C uses statement <pre>include <stdio.h></pre> to include a library</p>
我必须手动将<stdio.h>
更改为<stdio.h<
才能正常显示。
考虑到经常在这种混合情况下工作,这种手动更改会消耗很多时间。
有什么好的解决方案吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
您无需更改大于号“&gt;”。它经常被逃脱,但这只是一种习惯,并且在很多人看来都是对称的。但只有少于签名“&lt;”需要才能被转义。
如果工作太多,请考虑使用例如一个编辑器,您可以复制并粘贴要插入的代码并运行全局替换,将{&lt;“替换为<
和”&amp;“&
。
避免在HTML中转义的唯一方法是使用xmp
元素,例如<p>C uses statement <xmp>include <stdio.h></xmp> to include a library</p>
。但是,xmp
是非标准的(虽然普遍支持)并且默认情况下呈现为块,最重要的是,在此处将其解析为块元素,即<xml>
标记隐式关闭打开的p
}元素,这当然会影响渲染。因此xmp
对于内联代码示例并不实用。
答案 2 :(得分:0)
大多数文本编辑器,甚至Notepad
都附带查找和替换选项,将代码粘贴到其中,然后使用查找和替换选项将所有<
更改为<
和>
更改为>
答案 3 :(得分:-1)
您可以考虑几种选择
<强>的Javascript 强> 使用javascript执行以下操作:
var element = document.getElementsByClassName("code");
//get the innerHTML and change < to < and > to >
element.innerHTML = element.innerHTML.replace(/\</g,"<").replace(/\>/g,">");
这将寻找具有“代码”类的元素读取它的输入并将其更改为适当的形式。
PHP或其他服务器端语言 在PHP中,您可以使用htmlspecialchars()。你可以用PHP读出一个文件并在其上使用htmlspecialchars(可能有成千上万的教程如何在线完成)
使用bash(或任何脚本) 用sed你可以使用:
sed -e 's/\</\</g' -e 's/\>/\>/g' filename.c > newfile.html
这将获取您给它的文件(filename.c)并更改&lt;和&gt;到适当的东西并将输出存储在newfile.html中。现在你可以将内容从新文件中删除。
<强> Toughts 强> 如果这是一个网站,我建议你在服务器端编码文本(使用PHP的东西)。如果是静态站点,使用sed可能更有用。如果每个网页只有几个字符,我建议你手动完成。 (或使用WYSIWYG编辑器)