如何使用BASH脚本将文本转换为HTML字符代码



我尝试了 recode

echo '>' | recode ascii..html
>

,但它似乎只能转换诸如> <"

之类的字符
echo 'a' | recode ascii..html
a

我也想转换字母和其他字符。即,上述命令的所需输出是&#97;

是否有任何简单的方法可以在不创建一些大的正则表达式的情况下执行此操作?

您可以使用printf在变量前面使用'来获取字符的ASCII值。当然,这将导致&#62;而不是&gt;。您可以使用代码将$ 1转换为HTML ASCII代码的字符串。

str=$1
for (( i=0; i<${#str}; i++ )); do
  c=${str:$i:1}
  printf "&#%d;" "'$c" #
done
echo ""

相关内容

  • 没有找到相关文章

最新更新