0

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

谢谢,

4

2 回答 2

0

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

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

于 2013-10-07T17:23:17.423 回答
0

这会从您输入的任何有效 url 中刮掉所有图像:

<?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>
于 2013-10-08T21:01:27.920 回答