如何使用WikipediaAPI在php页面上显示图像

如何使用WikipediaAPI在php页面上显示图像,php,mediawiki,wikipedia-api,getimagedata,Php,Mediawiki,Wikipedia Api,Getimagedata,嗨,我有一个php页面,它使用WikipediaAPI使用zend框架来显示从搜索查询中获得的结果。此时,它会显示文章的标题和一个片段。我想能够显示一个图像太。关于这件事,请给我进一步的建议。谢谢 下面是我的代码:(q是在搜索框中键入的任何内容的值) srsearch($_POST['q']); //执行请求 //迭代XML结果集 $result=$wikipedia->get(); } 捕获(例外$e){ die('ERROR:'。$e->getMessage()); } ?> “”的搜索结果

嗨,我有一个php页面,它使用WikipediaAPI使用zend框架来显示从搜索查询中获得的结果。此时,它会显示文章的标题和一个片段。我想能够显示一个图像太。关于这件事,请给我进一步的建议。谢谢

下面是我的代码:(q是在搜索框中键入的任何内容的值)

srsearch($_POST['q']);
//执行请求
//迭代XML结果集
$result=$wikipedia->get();
}
捕获(例外$e){
die('ERROR:'。$e->getMessage());
}
?>
“”的搜索结果


  • 没有什么好办法。您可以获取生成的HTML,找到第一个具有合理大小的图像并显示它(一旦您知道图像名称,您就可以使用它来获取可以在您自己的图像标记中使用的URL)

    也有机会通过包装器API使用Wikipedia页面,例如,它既可以实时运行(询问Wiki页面的当前JSON表示形式),也可以基于存储(查询以前在Elasticsearch和MongoDB中摄取的多个页面)

    特别是,JSONpedia提供了一个HTML视图,将为页面提取的JSON呈现为HTML

    例如,此查询处理en:Albert_Einstein wiki页面,提取JSON并使用完全解析的多媒体URI将其呈现为基本HTML


    请格式化您的代码。。。包括删除那些不必要的空白线条,因为我不熟悉堆栈溢出的格式设置。您希望显示什么类型的图像?页面上的第一个图像?还是呈现页面的屏幕截图?还是
    文件后面的图像:
    页面?还是别的什么?页面上的第一张图片。如果我显示了大约10个链接,我希望页面的第一个图像与标题和代码片段一起显示。@如果你知道如何获得呈现页面的屏幕截图,请仔细想想,是否可以显示这些图像而不是代码片段?我想创建一个页面,减少文本阅读,使用视觉工具更快地识别。因此,用户只需在查看屏幕截图后单击标题,即可直接进入wikipage。
    <?php
    // if form submitted
    if (isset($_POST['q'])) {
        // load Zend classes
        require_once 'Zend/Loader.php';
        Zend_Loader::loadClass('Zend_Rest_Client');
        try {
            // initialize REST client
            $wikipedia = new Zend_Rest_Client('http://en.wikipedia.org/w/api.php');
            // set query parameters
            $wikipedia->action('query');
            $wikipedia->list('search');
            $wikipedia->srwhat('text');
            $wikipedia->format('xml');
            $wikipedia->srsearch($_POST['q']);
            // perform request
            // iterate over XML result set
            $result = $wikipedia->get();
        }
        catch (Exception $e) {
            die('ERROR: ' . $e->getMessage());
        }
     ?>
    
     <h2>Search results for '<?php echo $_POST['q']; ?>'</h2>
        <ol>
    <?php foreach ($result->query->search->p as $r): ?>
    <li><a href="http://www.wikipedia.org/wiki/
    <?php echo $r['title']; ?>">
    <?php echo $r['title']; ?></a> <br/>
    <small><?php echo $r['snippet']; ?></small></li>
    <?php endforeach; ?>
    </ol>
    <?php }?>