0

すべての html タグを削除したいが、
EG は残したい<a href="http://www.domain.com/">Link Title</a>

これまでのところ、</a>パーツを削除することを除いて、これは私にとってはうまくいきます。

sed -e 's/<[^">]*>//g'

これを行うためのより良い方法があるかどうかを知りたいです。

4

1 に答える 1

4

基本的に、あなたが書いたものは、二重引用符が含まれていない<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'
于 2013-01-17T07:05:21.517 に答える