Как извлечь заголовок URL, изображения, ключевые слова и описание, используя php?

Возможный дубликат:
Самый быстрый способ получить в PHP</a></p></blockquote><p>Предположим, что есть веб-сайт <a href="http://www.example.com/" rel="noopener nofollow noreferrer" target="_blank">http://www.example.com/</a> с title = "Example" description = "Это пример" и Keywords = "Пример, вопрос, любовь php".</p><p>Каким будет код php или любой другой код, с которым они могут быть получены при отправке ссылки?</p> </div> </div> </div> <div class="q-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить вопрос необходимо войти под своим логином." > <div class="btn btn-my btn-block q-like" style="background: #bdc3c7 "> <span itemprop="upvoteCount">0</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> <div class="col-md-10 q-tags"> <a href="/questions/tagged/php" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'php'">php</a> <a href="/questions/tagged/url" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'url'">url</a> <a href="/questions/tagged/extract" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'extract'">extract</a> <a href="/questions/tagged/digg" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'digg'">digg</a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="q-source" href="https://stackoverflow.com/questions/8437736/how-to-extract-a-urls-title-images-keywords-and-description-using-php" target="_blank">Источник</a> <a class="q-share" href="https://stackru.com/questions/3135875/kak-izvlech-zagolovok-url-izobrazheniya-klyuchevyie-slova-i-opisanie-ispolzuya-php" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/1085433/user1085433" class="q-user" rel="noopener" target="_blank">user1085433</a> </span> <span class="q-date" title="2011-12-08 21:12"> 08 дек '11 в 21:12</span> <span class="hidden" itemprop="dateCreated" datetime="2011-12-08 21:12">2011-12-08 21:12</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2011-12-08 21:12">2011-12-08 21:12</span> </div> <div id="Answers"> <h2 class="answers-title"> <span class="a-count" itemprop="answerCount">2</span> ответа </h2> <div class="accepted-answer">Решение</div> <div id="3135879" class="answer accepted-answer-vertical" itemscope itemtype="http://schema.org/Answer" itemprop="acceptedAnswer"> <div class="a-body"> <div class="a-text" itemprop="text"> <p>Если вы хотите получить данные из внешней ссылки, вы хотите получить страницу, используя curl.</p><p>Вот пример</p><pre><code><?php $ch = curl_init("http://www.google.nl"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); curl_close($ch); $title = preg_match('!<title>(.*?)</title>!i', $result, $matches) ? $matches[1] : 'No title found'; $description = preg_match('!<meta name="description" content="(.*?)">!i', $result, $matches) ? $matches[1] : 'No meta description found'; $keywords = preg_match('!<meta name="keywords" content="(.*?)">!i', $result, $matches) ? $matches[1] : 'No meta keywords found'; echo $title . '<br>'; echo $description . '<br>'; echo $keywords . '<br>'; ?> </code></pre><p>Для google.nl это возвращает:</p><blockquote><pre><code>Google No meta description found No meta keywords found </code></pre></blockquote><p>Мета-описание и ключевые слова могут потребовать дополнительной настройки для вашего использования.</p><p>Little sidenote cURL не устанавливается по умолчанию в apache, поэтому вам может потребоваться установить его в первую очередь.</p><p>Вот страница функции php cURL: <a href="http://nl3.php.net/manual/en/ref.curl.php" rel="noopener nofollow noreferrer" target="_blank">http://nl3.php.net/manual/en/ref.curl.php</a></p> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">5</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/8437736/how-to-extract-a-urls-title-images-keywords-and-description-using-php/8438001#8438001" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/3135875/kak-izvlech-zagolovok-url-izobrazheniya-klyuchevyie-slova-i-opisanie-ispolzuya-php/3135879#3135879" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/514049/user514049" class="q-user" rel="noopener" target="_blank">user514049</a> </span> <span class="q-date" title="2011-12-08 21:34"> 08 дек '11 в 21:34</span> <span class="hidden" itemprop="dateCreated" datetime="2011-12-08 21:34">2011-12-08 21:34</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2011-12-08 21:34">2011-12-08 21:34</span> </div> </div> <div id="3135880" class="answer " itemscope itemtype="http://schema.org/Answer" itemprop="suggestedAnswer"> <div class="a-body"> <div class="a-text" itemprop="text"> <p>Ваш вопрос слишком общий, но инструмент, который вам понадобится, это file_get_contents, чтобы получить страницу, а затем регулярное выражение для поиска данных. Вы можете использовать это, чтобы легко найти заголовок, но что именно вы подразумеваете под ключевыми словами и описанием, неясно...</p> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">0</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/8437736/how-to-extract-a-urls-title-images-keywords-and-description-using-php/8437783#8437783" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/3135875/kak-izvlech-zagolovok-url-izobrazheniya-klyuchevyie-slova-i-opisanie-ispolzuya-php/3135880#3135880" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/1011513/user1011513" class="q-user" rel="noopener" target="_blank">user1011513</a> </span> <span class="q-date" title="2011-12-08 21:16"> 08 дек '11 в 21:16</span> <span class="hidden" itemprop="dateCreated" datetime="2011-12-08 21:16">2011-12-08 21:16</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2011-12-08 21:16">2011-12-08 21:16</span> </div> </div> <div class="text-center"> </div> <div class="text-center"> </div> <div class="another-questions"> <div class="row"> <div class="col-md-12 q-tags"> <b>Другие вопросы по тегам</b> <a href="/questions/tagged/php" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'php'">php</a> <a href="/questions/tagged/url" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'url'">url</a> <a href="/questions/tagged/extract" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'extract'">extract</a> <a href="/questions/tagged/digg" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'digg'">digg</a> </div> </div> </div> </div> </div> <div class="col-lg-3 AD"> <div id="allFlyout3-0" style="position: sticky; top: 0;"> </div> </div> </div> </div> </section> </main> <div class="padding"></div> </div> <footer> <div class="container"> <div class="row"> <div class="col-sm-6"> <a href="/"> <img src="/static/img/logo.png" alt="stackru.com - Поиск вопросов и ответов по программированию" /> </a> </div> <div class="col-sm-6 text-right"> <span class="pull-right"><a href="mailto:info@stackru.com">info@stackru.com</a></span> <br /> <span class="license pull-left">licensed under <a href="https://creativecommons.org/licenses/by-sa/3.0/" rel="nofollow license" target="_blank">cc by-sa 3.0</a> with attribution</span> </div> </div> </div> </footer> <!-- Yandex.Metrika counter --> <script type="text/javascript" > (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(53936023, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); </script> <noscript><div><img src="https://mc.yandex.ru/watch/53936023" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-141489240-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-141489240-1'); </script> </body> </html>