PHP -字符串过滤(正则表达式?)



我有多个PHP字符串(每个10-100k字符),并希望从中获得精确的元素及其子元素。

的例子:

$bbc_string = file_get_contents('http://www.bbc.co.uk/');
echo $bbc_string;

给出90544个字符并显示整个页面。但谁需要整个页面,包括导航,页脚等?

如果我只想显示呢,比如:

<div id="news_container">
   everything in it
</div>

或:

<h2 id="worldService_title">
   everything in it
</h2>

如何过滤或解析$bbc_string输出显示我想要什么?

我认为regex是解决方案,我发现了这个模式:

preg_match('/<div id="".$id."">(.*?)</div>/', $string, $matches);

但是它不起作用,并且应该只对div而不是所有元素起作用。

有PHP/regex忍者吗?

应该使用DOM来解析HTML。

最新更新