Тут, скажем так, задача не из простых. В случае, когда есть закрывающий тэг, но отсутствует открывающий, определить место, где он должен находиться - невозможно. Можно попробовать этот код, но не факт, что он будет открывать/закрывать тэги именно там, где нужно...