关闭未关闭的标记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关闭未关闭的标记相关的知识,希望对你有一定的参考价值。

  1. <?php
  2. /**
  3. * Find and close unclosed xml tags
  4. **/
  5. function close_tags($text) {
  6. $patt_open = "%((?<!</)(?<=<)[s]*[^/!>s]+(?=>|[s]+[^>]*[^/]>)(?!/>))%";
  7. $patt_close = "%((?<=</)([^>]+)(?=>))%";
  8. if (preg_match_all($patt_open,$text,$matches))
  9. {
  10. $m_open = $matches[1];
  11. if(!empty($m_open))
  12. {
  13. preg_match_all($patt_close,$text,$matches2);
  14. $m_close = $matches2[1];
  15. if (count($m_open) > count($m_close))
  16. {
  17. $m_open = array_reverse($m_open);
  18. foreach ($m_close as $tag) $c_tags[$tag]++;
  19. foreach ($m_open as $k => $tag) if ($c_tags[$tag]--<=0) $text.='</'.$tag.'>';
  20. }
  21. }
  22. }
  23. return $text;
  24. }
  25. ?>

以上是关于关闭未关闭的标记的主要内容,如果未能解决你的问题,请参考以下文章

对象被释放了,它们仍然给出了它们的值。 ARC 未标记(表示关闭)

查找字符串中最后一个未关闭的 XML 标记

android上未显示自定义标记图标[关闭]

标记和未标记的中断,在 C# 或 C++ 中继续 [关闭]

连接关闭时结果集未关闭?

连接关闭时结果集未关闭?