Jam*_*ans 29 bash html-entities
这个盒子没有Ruby/Python/Perl等.
只有bash,sed和awk.
一种方法是用地图替换字符,但它变得乏味.
也许我不知道一些内置功能?
rua*_*akh 43
转义HTML实际上只是涉及更换三个大字:<,>,和&.对于额外的积分,您也可以替换"和'.所以,这不是一个很长的sed脚本:
sed 's/&/\&/g; s/</\</g; s/>/\>/g; s/"/\"/g; s/'"'"'/\'/g'
Run Code Online (Sandbox Code Playgroud)
你可以使用recode实用程序:
echo 'He said: "Not sure that - 2<1"' | recode ascii..html
Run Code Online (Sandbox Code Playgroud)
输出:
He said: "Not sure that - 2<1"
Run Code Online (Sandbox Code Playgroud)
纯 bash,没有外部程序:
function htmlEscape () {
local s
s=${1//&/&}
s=${s//</<}
s=${s//>/>}
s=${s//'"'/"}
printf -- %s "$s"
}
Run Code Online (Sandbox Code Playgroud)
只是简单的字符串替换。