在php中删除网页中的所有标题和内容

在php中删除网页中的所有标题和内容,php,preg-match,Php,Preg Match,我在网上浏览了一下如何用内容刮去所有标题h1到h6。像这样一些标题,一些标题。我甚至看过PHP无法识别的html文件。到目前为止,我编写的代码允许您查看内容,但没有h1标记。我是新手,如果有人能帮助我,我将不胜感激。这是我现在的代码: <html> <head> <title></title> </head> <body> <?php $theurl = "http://www.msn.com"; if(!($cont

我在网上浏览了一下如何用内容刮去所有标题h1到h6。像这样一些标题,一些标题。我甚至看过PHP无法识别的html文件。到目前为止,我编写的代码允许您查看内容,但没有h1标记。我是新手,如果有人能帮助我,我将不胜感激。这是我现在的代码:

<html>
<head>
<title></title>
</head>
<body>
<?php
$theurl = "http://www.msn.com";
if(!($contents=file_get_contents($theurl)))
  {
    echo 'Could not open URL';
    exit;
}else{
echo "The $theurl is open <br />";
}
$pattern = "/<h[1-6]>(.*?)<\/h[1-6]>/si";
$found = preg_match_all($pattern,$contents,$matches);
if(is_array($matches) && count($matches) >= 1){
 echo "Scraping $theurl<br />";
for($i = 1; $i <= $found - 1; $i++){
echo $matches[0][$i];
}
 }else{
echo "No heading found";
 }
?>
</body>
</html>

如果您只是想在两个标记之间获取文本,那么正则表达式就可以了。如果你试图解析一个html文档,你可能想使用一个可能与@Dagon重复的解决方案:这绝对不是这个问题的重复。尝试用正则表达式解析html-是的,重复我看到的所有示例都显示h1标记或标记之间的内容。我期待着显示h1打开和关闭标签以及内容。