我想删除所有 html 标签但留下
EG <a href="http://www.domain.com/">Link Title</a>
到目前为止,这对我有用,只是它删除了该</a>
部分。
sed -e 's/<[^">]*>//g'
我想知道是否有更好的方法来做到这一点。
基本上,您所写的内容会删除<Stuff>
其中Stuff
没有任何双引号的任何块。例如,如果有一个完全有效的 html 位,例如:
<a href='http://www.domain.com/'>Link Title</a>
甚至是一些奇怪的 html,例如:
<a href=http://www.domain.com/>Link Title</a>
它对你不起作用。
正则表达式被认为是处理 HTML 的一种非常糟糕的方式,除非您确切知道可以处理的所有变体范围。
所以先读读这个观点。
我可以提出类似的建议:
sed -e 's/<[^a>/!][^ >][^>]*>//g;s/<\/[^a>][^>]*>//g'