例如
$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;
请帮助解决这个问题。
答案 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);