HTML5にからは空要素(void elements)に閉じタグを意味する/が必須では無くなったとはいえ、混在させたりしているのはよろしくないうえにXHTMLに変換する際にややこしいので閉じタグする方向で見様見真似で一括置換した。正規表現も使えるようにならんとなあ。

HTML5の空要素は8 The HTML syntax -- HTML5 #elementsによると、

  • area
  • base
  • br
  • col
  • command
  • embed
  • hr
  • img
  • input
  • keygen
  • link
  • meta
  • param
  • source
  • track
  • wbr

だそうなので、これらのタグで最後が/>で終わっていないものを置換みたいな。

検索
<(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)([^>]*[^/])>
置換
<\1\2 />

参考