我想刪除所有html標記,但保留
E.G. <a href="http://www.domain.com/">Link Title</a>
SED刪除除鏈接以外的所有HTML標記
到目前爲止,這對我的作品除了它刪除</a>
部分。
sed -e 's/<[^">]*>//g'
我想知道是否有更好的方法來做到這一點。
我想刪除所有html標記,但保留
E.G. <a href="http://www.domain.com/">Link Title</a>
SED刪除除鏈接以外的所有HTML標記
到目前爲止,這對我的作品除了它刪除</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的方法,除非您確切知道您可能處理的所有變體的範圍。
先閱讀this viewpoint。
我可以建議是這樣的:
sed -e 's/<[^a>/!][^ >][^>]*>//g;s/<\/[^a>][^>]*>//g'
鏈接是不帶屬性的唯一標籤。 –
是的我知道,但這是我所需要的;-) – Tux