php/html:用换行符替换html结束标记

php/html:用换行符替换html结束标记,php,html,newline,strip-tags,Php,Html,Newline,Strip Tags,我在网页上搜索html,当我使用php strip_标记时,它会将整个html拖到一行中,删除所有结构 $str = 'some html'; $tags = array('</p>','<br />','<br>','<hr />','<hr>','</h1>','</h2>','</h3>','</h4>','</h5>','</h6>'); $str = st

我在网页上搜索html,当我使用php strip_标记时,它会将整个html拖到一行中,删除所有结构

$str = 'some html';
$tags = array('</p>','<br />','<br>','<hr />','<hr>','</h1>','</h2>','</h3>','</h4>','</h5>','</h6>');
$str = str_replace($tags,"\n",$str);

// then strip tags
我想保留结构,用换行符替换结束的h、p和br标记

preg替换是否是最好的解决方案

一旦我替换了所有的结束标记,我就会运行一个strip标记,但这样我就有了一个基本的结构;
$str = 'some html';
$tags = array('</p>','<br />','<br>','<hr />','<hr>','</h1>','</h2>','</h3>','</h4>','</h5>','</h6>');
$str = str_replace($tags,"\n",$str);

// then strip tags
$tags=数组(“

”、“
”、“
”、“
”、“
”、“、”、“、”); $str=str\u replace($tags,“\n”,$str); //然后剥去标签
为什么不在后记中运行它以恢复结构?

很好,谢谢。再过6分钟,我就可以把它标记为答案了。为什么要在数组中循环?您可以直接将数组传递给str_replace。@Likorvicar很好-我忘了str_replace可以做到这一点-请参阅UpdatedTanks-希望人们在向下投票时留下评论-尤其是在答案上。我想去掉所有html标记,但保留基本结构的新行。