如何在我的LAMP Web应用程序中显示链接文章的图像,标题和描述

时间:2013-10-07 17:15:12

标签: php html facebook hyperlink article

我正在使用LAMP构建开发社交媒体平台。到目前为止,我的用户可以上传图片和视频,并对其进行评论和投票。我希望用户能够发布文章的URL链接,并自动弹出标题,图像和描述,就像在Facebook上一样。我猜大多数包含文章的网页都包含某种元数据,这些元数据允许像我这样的开发人员系统地访问标题,描述字段等。如果是这种情况,那么具体如何访问这些元数据。否则,Facebook如何做到这一点?

谢谢,

2 个答案:

答案 0 :(得分:0)

您可以使用PHP HTML解析库,它允许您输入URL,并根据您的选择分解元信息。

StackOverflow上的这个答案有一个很好的PHP可用HTML解析选项列表:https://stackoverflow.com/a/3577662/1332068

答案 1 :(得分:0)

这会从您输入的任何有效网址中删除所有图片:

<?php
if(isset($_POST['link'])){
    $link = $_POST['link'];
    $scrapings = "";
    $article = new DOMDocument;
    $article ->loadHTMLFile($link);
    $titles = $article->getElementsByTagName("title");
    foreach($titles as $title){
        echo $title->nodeValue, PHP_EOL;
    }
    $images = $article->getElementsByTagName("img");
    foreach($images as $image){
        $source = $image->getAttribute("src");
        $scrapings .= '<img src="'.$source.'" alt="default">';
    }
}
?>
<!DOCTYPE html>
<html>
    <head></head>
    <body>
        <form method="POST" action="article_system.php">
            <input type="text" name="link">
            <input type="submit" value="submit">
        </form>
        <?php echo $scrapings; ?>
    </body>
</html>