php 关闭所有xhtml标签

Posted

tags:

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

/**
 * close all open xhtml tags at the end of the string
 * 
 * @author Milian Wolff <[url]http://milianw.de[/url]>
 * @param string $html
 * @return string
 */
function closetags($html){
  #put all opened tags into an array
  preg_match_all("#<([a-z]+)( .*)?(?!/)>#iU",$html,$result);
  $openedtags=$result[1];

  #put all closed tags into an array
  preg_match_all("#</([a-z]+)>#iU",$html,$result);
  $closedtags=$result[1];
  $len_opened = count($openedtags);
  # all tags are closed
  if(count($closedtags) == $len_opened){
    return $html;
  }
  $openedtags = array_reverse($openedtags);
  # close tags
  for($i=0;$i<$len_opened;$i++) {
    if (!in_array($openedtags[$i],$closedtags)){
      $html .= '</'.$openedtags[$i].'>';
    } else {
      unset($closedtags[array_search($openedtags[$i],$closedtags)]);
    }
  }
  return $html;
}

// http://forum.dklab.ru/viewtopic.php?p=148338#148338

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

从 xhtml 文档中删除未关闭的打开 <p> 标签

如何学好PHP

从 Instagram 获取所有带有 PHP 特定标签的照片 [关闭]

div中不需要的br标签[关闭]

PHP忘记密码脚本[关闭]

RegEx 匹配打开的标签,XHTML 自包含标签除外