如何使用PHP修剪html标签和格式?

时间:2015-11-30 06:31:58

标签: php html tags

例如

$string = '<i>Line1</i><i><i><i><i><i></i></i></i></i></i><i><i><i><i>
              <i>Line 2</i></i></i></i></i><i><i><i><i><i></i></i></i></i>
              </i><i><i><i><i><i>Line 3</i></i></i></i></i>';

如果标签内的内容为空,如何删除标签,如果标签未关闭,如何关闭标签 使用php

  

&LT; / i&gt;

请帮助解决这个问题。

1 个答案:

答案 0 :(得分:4)

您可以将strip_tags用于此

$string ='<i>Line1</i><i><i><i><i><i></i></i></i></i></i><i><i><i><i>
          <i>Line 2</i></i></i></i></i><i><i><i><i><i></i></i></i></i>
          </i><i><i><i><i><i>Line 3</i></i></i></i></i>';

剥离标签

echo strip_tags($string);

格式化未关闭标签的一种方法是

$doc = new DOMDocument();
$doc->loadHTML($string);
$string = $doc->saveHTML();

我们也可以使用正则表达式删除空的html标签。这是一个很小的功能。

function remove_empty_tags ($string, $rep = NULL)
{
   if (!is_string ($string)
      || trim ($string) == '')
          return $string;

   return preg_replace ('/<([^<\/>]*)>([\s]*?|(?R))<\/\1>/imsU',!is_string ($rep) ? '' : $rep,$string);
}

$string = remove_empty_tags($string);