我当前正在验证客户端的 HTML 源,但对于没有 Omittag 的图像和输入文件,我收到了很多验证错误。我会手动执行此操作,但该客户端实际上有数千个文件,其中很多情况下不是 .
该客户端已验证一些 img 标签(无论出于何种原因)。
只是想知道是否有一个 unix 命令我可以运行来检查是否没有 Omittag 来添加它。
我已经完成了简单的搜索并替换为以下命令:
find . \! -path '*.svn*' -type f -exec sed -i -n '1h;1!H;${;g;s/<b>/<strong>/g;p}' {} \;
但从来没有这么大的东西。任何帮助,将不胜感激。
尝试这个。它会遍历你的文件,制作一个.orig
每个文件的备份(perl 的-i
运算符),并替换<img>
and <input>
标签有<img />
and <input >
.
find . \! -path '*.svn*' -type f -exec perl -pi.orig -e 's{ ( <(?:img|input)\b ([^>]*?) ) \ ?/?> }{$1\ />}sgxi' {} \;
给定输入:
<img> <img/> <img src=".."> <img src="" >
<input> <input/> <input id=".."> <input id="" >
它将文件更改为:
<img /> <img /> <img src=".." /> <img src="" />
<input /> <input /> <input id=".." /> <input id="" />
这是正则表达式正在做的事情:
s{(<(?:img|input)\b ([^>]*?)) # capture "<img" or "<input" followed by non-">" chars
\ ?/?>} # optional space, optional slash, followed by ">"
{$1\ />}sgxi # replace with: captured text, plus " />"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)