我正在爬取网页上的html,当我使用php strip_tags时,它会将整个html压缩成一行,去除所有结构。
我想保留结构,通过将关闭的h、p和br标签替换为换行符来实现。
preg_replace是最好的解决方案吗?
一旦我替换了所有的关闭标签,我就会运行strip_tags,但这样我就会有一个基本的结构。
我正在爬取网页上的html,当我使用php strip_tags时,它会将整个html压缩成一行,去除所有结构。
我想保留结构,通过将关闭的h、p和br标签替换为换行符来实现。
preg_replace是最好的解决方案吗?
一旦我替换了所有的关闭标签,我就会运行strip_tags,但这样我就会有一个基本的结构。
$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
为什么不在之后通过tidy运行它以恢复结构呢?