是否有任何脚本可以在文本(例如<hi>
)和 html 实体版本(<hi>
)之间进行转换,例如这个网站做?或者至少是一个 PHP 文件?
答案1
Perl CGI 模块有一个escapeHTML
使它变得非常简单的函数:
perl -e 'use CGI qw(escapeHTML); print escapeHTML("<hi>\n");'
或者执行整个文件:
perl -p -e 'BEGIN { use CGI qw(escapeHTML); } $_ = escapeHTML($_);' FILENAME
答案2
这重新编码实用程序支持 HTML 作为编码之一。 (您甚至可以指定 HTML 版本。)在文本到实体方向,它还会将非 ASCII 字符重新编码为实体;您需要指定正确的输入编码(例如 ASCII、latin1、utf-8,...)。
recode utf8:html <input-file.txt >output-file.txt
recode l1..html file-to-recode.txt
答案3
xmlstarlet
可以通过两种方式做到这一点:
echo '<em>Ampersands & angle brackets need to be encoded.</em>' |
xmlstarlet esc |
xmlstarlet unesc
答案4
对于任何感兴趣的人:我编写了一个文档齐全、易于阅读的开源 bash 脚本,用于转换 HTML 实体中的重音字母。你可以在这里找到它: http://www.lugato.co.uk/silvio_dwl.html 它很容易理解,因此可以轻松修改它以转换 HTML 实体中的其他字符;)享受它!西尔维奥