我正在寻找一种方法,可以根据用户在PHP中提供的URL对另一个页面进行小的预览。
我只想检索页面标题,图像(如网站徽标)以及一些文字或说明(如果有)。有没有任何外部库/类的简单方法?谢谢
到目前为止,我已经尝试过使用DOCDocument类,加载HTML并将其显示在屏幕上,但是我认为这不是正确的方法
我建议您考虑为此使用simple_html_dom。这将使其非常容易。
这是一个如何提取标题和第一张图片的有效示例。
<?php require 'simple_html_dom.php'; $html = file_get_html('http://www.google.com/'); $title = $html->find('title', 0); $image = $html->find('img', 0); echo $title->plaintext."<br>\n"; echo $image->src; ?>
这是第二个示例,无需外部库即可执行相同操作。我应该注意,在HTML上使用正则表达式不是一个好主意。
<?php $data = file_get_contents('http://www.google.com/'); preg_match('/<title>([^<]+)<\/title>/i', $data, $matches); $title = $matches[1]; preg_match('/<img[^>]*src=[\'"]([^\'"]+)[\'"][^>]*>/i', $data, $matches); $img = $matches[1]; echo $title."<br>\n"; echo $img; ?>