Xml 使用正则表达式从网站中提取内容

Xml 使用正则表达式从网站中提取内容,xml,regex,preg-match,Xml,Regex,Preg Match,嗨,我只是想了解一下正则表达式,我一直在尝试从这个网站提取内容,但我想我的regexp有问题,因为我无法向数组中添加任何内容。 谁能给我指出正确的方向,我想这只是个小问题 谢谢 <?php $f1 = fopen("http://www.irishexaminer.com/","r"); $document = fread($f1,100000); fclose($f1); $regexp = "%<p>(.+)</p><

嗨,我只是想了解一下正则表达式,我一直在尝试从这个网站提取内容,但我想我的regexp有问题,因为我无法向数组中添加任何内容。 谁能给我指出正确的方向,我想这只是个小问题

谢谢

<?php   
    $f1 = fopen("http://www.irishexaminer.com/","r");
    $document = fread($f1,100000);
    fclose($f1);
    $regexp = "%<p>(.+)</p><p>%";
    preg_match($regexp,$document,$getHeading);  
    echo "<br>" . $getHeading[1];
    echo '<pre>';
    print_r($getHeading);
    echo '</pre>';
?>

在您的案例中,p的结束标记中没有空白的理由

%<p>(.+)</\s*p><p>%
效忠者在贝尔法斯特街头的暴力行为没有任何借口。

正则表达式匹配

%(.+)%

要使正则表达式对HTML具有足够的弹性需要一段时间。也接受弗兰基的建议。把你的努力投入到不容易失败的事情上。你可以使用

你试过确认
$document
确实包含html吗?是的,我刚看了另一眼,它确实包含标记,例如:在贝尔法斯特的街道上没有忠诚者暴力的借口。

这个脚本的具体输出是什么?另外:你可能不应该用常规语法解析html表达。注意:第7行未定义的偏移量:1

%<p>(.+)</\s*p><p>%