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 />
参考