2014-10-05 4 views
1
if ($link == true) { 
    // Links 
    $link_search = '/\[a\](.*?)\[\/a\]/i'; 

    if (preg_match_all($link_search, $text, $matches)) { 

     foreach ($matches[1] as $match) { 
      $match_decode = urldecode($match); 
      $match_url = $match_decode; 

      if (!preg_match("/http\:\/\//", $match_decode)) { 
       $match_url = 'http://' . $match_url; 
      } 

      $text = str_replace('[a]' . $match . '[/a]', '<a href="' . strip_tags($match_url) . '" target="_blank" rel="nofollow">' . $match_decode . '</a>', $text); 
     } 
    } 
} 

Приведенный выше код отображает ссылку, размещенную и при нажатии которой перенаправляется на ссылку. Я хочу показать ссылку назначения. Напр. Stackoverflow показано в посте и при нажатии переводит пользователя на http://stackoverflow.comКак получить URL-адрес?

+1

Для этого потребуется извлечь страницу и разыскать ее тег ''. Если целевой сайт медленно загружается, ваша страница будет слишком - и если у вас много ссылок ... – <span class="text-secondary"> <small> <span></span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">Итак, как мне это сделать? Пожалуйста, помогите мне ... – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/3965281/">ranger19</a></span> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> </div> <div class="answer-title"> <span class="text-logo margin-top-sm">A</span> <h2 class="title h4">ответ</h2> </div> <div class="item-description text-md markdown-body margin-bottom-40 voidso"> <article class="board-top-1 padding-top-10"> <div class="post-col vote-info"> <span class="count">0<i class="fa fa-thumbs-up"></i></span> <i class="fa fa-check fa-2x"></i> </div> <div class="post-offset"> <div class="answer fmt"> <p>Попробуйте заменить:</p> <pre><code class="prettyprint-override">$text = str_replace('[a]' . $match . '[/a]', '<a href="' . strip_tags($match_url) . '" target="_blank" rel="nofollow">' . $match_decode . '</a>', $text); </code></pre> <p>с:</p> <pre><code class="prettyprint-override">$str = file_get_contents($match_url); preg_match("/\<title\>(.*)\<\/title\>/",$str,$title); $text = str_replace('[a]' . $match . '[/a]', '<a href="' . strip_tags($match_url) . '" target="_blank" rel="nofollow">' . $title[1] . '</a>', $text); </code></pre> <p>получить изображения:</p> <pre><code class="prettyprint-override">preg_match("/\<img\>(.*)\<\/img\>/",$str,$img); </code></pre> <p>Вы получите массив в $ img, вам придется пройти через него:</p> <pre><code class="prettyprint-override">for($i=0; $i<count($img); $i++){ echo $img[$i]; } </code></pre> </div> <div class="post-info"> <div class="post-meta row"> <p class="text-secondary col-lg-6"> <span class="source"> <a rel="noopener" target="_blank" href="https://stackoverflow.com/q/26203223">источник</a> </span> </p> <p class="text-secondary col-lg-6"> <span class="float-right date"> <span>2014-10-05 13:56:17</span> </p> <p class="col-12"></p> <p class="col-12"></p></div> </div> <!-- comments --> <div class="comments"> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">Спасибо большое ...: D – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/3965281/">ranger19</a></span> <span></span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">Извините, что снова вас обманули, но можете ли вы сказать мне, есть ли способ извлечь выдержку или изображение (если на странице есть)? Спасибо. – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/3965281/">ranger19</a></span> <span></span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">использование preg_match ("/ \ <img\> (. *) \ <\/img\> /", $ str, $ img); – <span class="text-secondary"> <small> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="4319274062" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="clearfix"> </div> <div class="relative-box"> <div class="relative">Смежные вопросы</div> <ul class="relative_list"> <li> 1. <a href="http://ru.voidcc.com/question/p-kqjttjir-bpu.html" target="_blank" title="как получить"> как получить </a> </li> <li> 2. <a href="http://ru.voidcc.com/question/p-sorgikuk-x.html" target="_blank" title="Как получить/получить C struct из Python"> Как получить/получить C struct из Python </a> </li> <li> 3. <a href="http://ru.voidcc.com/question/p-tqsfnuxz-tt.html" target="_blank" title="Как получить и получить список пользовательских уведомлений"> Как получить и получить список пользовательских уведомлений </a> </li> <li> 4. <a href="http://ru.voidcc.com/question/p-ejuxrspp-bou.html" target="_blank" title="Как получить получить динамически генерируемые значение"> Как получить получить динамически генерируемые значение </a> </li> <li> 5. <a href="http://ru.voidcc.com/question/p-zqdbssqm-cy.html" target="_blank" title="pre-получить hook - как получить сообщения коммитов"> pre-получить hook - как получить сообщения коммитов </a> </li> <li> 6. <a href="http://ru.voidcc.com/question/p-vzmywhgu-bsh.html" target="_blank" title="Как получить NSManagedObjectId и получить данные"> Как получить NSManagedObjectId и получить данные </a> </li> <li> 7. <a href="http://ru.voidcc.com/question/p-dnsptcer-vp.html" target="_blank" title="Как получить Html.BeginForm ПОЛУЧИТЬ исправить MVC маршрут"> Как получить Html.BeginForm ПОЛУЧИТЬ исправить MVC маршрут </a> </li> <li> 8. <a href="http://ru.voidcc.com/question/p-qhvnatcp-da.html" target="_blank" title="Как получить ActivityContext, чтобы получить значение InArgument"> Как получить ActivityContext, чтобы получить значение InArgument </a> </li> <li> 9. <a href="http://ru.voidcc.com/question/p-msmulgvu-xv.html" target="_blank" title="Как получить Silverlight получить данные из MySQL"> Как получить Silverlight получить данные из MySQL </a> </li> <li> 10. <a href="http://ru.voidcc.com/question/p-qghbzqii-bpz.html" target="_blank" title="Как получить/получить идентификатор из ответа xml"> Как получить/получить идентификатор из ответа xml </a> </li> <li> 11. <a href="http://ru.voidcc.com/question/p-ulyshhnq-ca.html" target="_blank" title="Как получить для разных страниц получить fan_count?"> Как получить для разных страниц получить fan_count? </a> </li> <li> 12. <a href="http://ru.voidcc.com/question/p-mffomquq-gq.html" target="_blank" title="Как получить/получить поврежденный/ошибка .java-файл"> Как получить/получить поврежденный/ошибка .java-файл </a> </li> <li> 13. <a href="http://ru.voidcc.com/question/p-fxktrczl-bea.html" target="_blank" title="как получить ответ получить запрос на java"> как получить ответ получить запрос на java </a> </li> <li> 14. <a href="http://ru.voidcc.com/question/p-cyzfgegf-hp.html" target="_blank" title="Как получить arduino ethercard udp получить данные?"> Как получить arduino ethercard udp получить данные? </a> </li> <li> 15. <a href="http://ru.voidcc.com/question/p-omrgykvh-bac.html" target="_blank" title="как получить частичный ответ от $ .ajax получить"> как получить частичный ответ от $ .ajax получить </a> </li> <li> 16. <a href="http://ru.voidcc.com/question/p-fgvnofzm-brx.html" target="_blank" title="Android, как получить/получить данные из пакета?"> Android, как получить/получить данные из пакета? </a> </li> <li> 17. <a href="http://ru.voidcc.com/question/p-gidiibpw-dk.html" target="_blank" title="Как получить строку как переменную"> Как получить строку как переменную </a> </li> <li> 18. <a href="http://ru.voidcc.com/question/p-wvzozvxx-bm.html" target="_blank" title="Как получить TextField, как это"> Как получить TextField, как это </a> </li> <li> 19. <a href="http://ru.voidcc.com/question/p-fawymuop-xu.html" target="_blank" title="Как получить сайт как unicode?"> Как получить сайт как unicode? </a> </li> <li> 20. <a href="http://ru.voidcc.com/question/p-upwzukfs-bem.html" target="_blank" title="Как получить ToolBar как Hangouts"> Как получить ToolBar как Hangouts </a> </li> <li> 21. <a href="http://ru.voidcc.com/question/p-pnirlamy-bme.html" target="_blank" title="Как получить выход как целое?"> Как получить выход как целое? </a> </li> <li> 22. <a href="http://ru.voidcc.com/question/p-cfmzzmjt-em.html" target="_blank" title="Как получить JSX как строку?"> Как получить JSX как строку? </a> </li> <li> 23. <a href="http://ru.voidcc.com/question/p-frvoxorr-bd.html" target="_blank" title="Как получить майю, как вращение?"> Как получить майю, как вращение? </a> </li> <li> 24. <a href="http://ru.voidcc.com/question/p-buqvqmxj-bdn.html" target="_blank" title="Как получить среду как переменную?"> Как получить среду как переменную? </a> </li> <li> 25. <a href="http://ru.voidcc.com/question/p-negucwwd-bgt.html" target="_blank" title="Как получить форму формы jQuery? Как получить «%» от введенной суммы?"> Как получить форму формы jQuery? Как получить «%» от введенной суммы? </a> </li> <li> 26. <a href="http://ru.voidcc.com/question/p-bivqborn-va.html" target="_blank" title="Как получить пользовательские репозитории из Gitlab, как получить от Gtihub?"> Как получить пользовательские репозитории из Gitlab, как получить от Gtihub? </a> </li> <li> 27. <a href="http://ru.voidcc.com/question/p-wmxwhgwn-za.html" target="_blank" title="Spring - как получить ServletContext в @Service (+ как получить манифест WebApps)"> Spring - как получить ServletContext в @Service (+ как получить манифест WebApps) </a> </li> <li> 28. <a href="http://ru.voidcc.com/question/p-furiaytr-cg.html" target="_blank" title="Как получить адрес функции?"> Как получить адрес функции? </a> </li> <li> 29. <a href="http://ru.voidcc.com/question/p-eyhkhcwh-cg.html" target="_blank" title="Как получить/создать org.eclipse.cdt.dsf.debug.service.BreakpointsMediator2"> Как получить/создать org.eclipse.cdt.dsf.debug.service.BreakpointsMediator2 </a> </li> <li> 30. <a href="http://ru.voidcc.com/question/p-nghrfkcw-co.html" target="_blank" title="Как получить ETA?"> Как получить ETA? </a> </li> </ul> </div> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3534119089"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img2.voidcc.com/voidso/script/side.js?t=1652515422009"></script> <script type="text/javascript" src="http://img2.voidcc.com/voidso/plugin/highlight/highlight.pack.js"></script> <link href="http://img2.voidcc.com/voidso/plugin/highlight/styles/docco.css" media="screen" rel="stylesheet" type="text/css" /> <script type="text/javascript"> $('pre').each(function(i, e) { hljs.highlightBlock(e, "<span class='indent'> </span>", false) }); </script> <div class="col-lg-3 col-md-4 col-sm-5"> <div id="rightTop"> <div class="row"> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- VOIDCC问答侧边栏广告 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3862022848" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> Последний вопрос </div> <div class="m-b-sm m-t-sm clearfix"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://ru.voidcc.com/question/p-bfbdhezn-bcz.html" target="_blank" title="React-Native hide navbar при прокрутке"> React-Native hide navbar при прокрутке </a> </li> <li class="side_article_list_item"> 2. <a href="http://ru.voidcc.com/question/p-wdsiwkdl-bcs.html" target="_blank" title="Как сравнить элементы цикла?"> Как сравнить элементы цикла? </a> </li> <li class="side_article_list_item"> 3. <a href="http://ru.voidcc.com/question/p-khevqpzv-bdw.html" target="_blank" title="Загрузка изображения из URL в ListView"> Загрузка изображения из URL в ListView </a> </li> <li class="side_article_list_item"> 4. <a href="http://ru.voidcc.com/question/p-zuxbvbuy-bdm.html" target="_blank" title="лучший способ автоматизации мыши и клавиатуры с помощью pyautogui"> лучший способ автоматизации мыши и клавиатуры с помощью pyautogui </a> </li> <li class="side_article_list_item"> 5. <a href="http://ru.voidcc.com/question/p-spyjgfqb-beq.html" target="_blank" title="Проблемы с подключением Apache Ignite Kafka"> Проблемы с подключением Apache Ignite Kafka </a> </li> <li class="side_article_list_item"> 6. <a href="http://ru.voidcc.com/question/p-sgsgsmim-beg.html" target="_blank" title="Как получить единственный символ Юникода из его целочисленного представления?"> Как получить единственный символ Юникода из его целочисленного представления? </a> </li> <li class="side_article_list_item"> 7. <a href="http://ru.voidcc.com/question/p-tvizsmik-bmx.html" target="_blank" title="Как передать HTTP-запрос автоматически сгенерированное значение _token (значение, сгенерированное в соответствии с запросом HTTP, а не в ответ) на следующий http-запрос в jmeter"> Как передать HTTP-запрос автоматически сгенерированное значение _token (значение, сгенерированное в соответствии с запросом HTTP, а не в ответ) на следующий http-запрос в jmeter </a> </li> <li class="side_article_list_item"> 8. <a href="http://ru.voidcc.com/question/p-svyguczv-bmq.html" target="_blank" title="Фотография, сделанная моей веб-камерой, не совпадает с предыдущей."> Фотография, сделанная моей веб-камерой, не совпадает с предыдущей. </a> </li> <li class="side_article_list_item"> 9. <a href="http://ru.voidcc.com/question/p-koxjpnyv-bme.html" target="_blank" title="динамически создавая несколько sharedobject"> динамически создавая несколько sharedobject </a> </li> <li class="side_article_list_item"> 10. <a href="http://ru.voidcc.com/question/p-onpfwlwp-boe.html" target="_blank" title="Почему у моей формы Django нет выбора выбора?"> Почему у моей формы Django нет выбора выбора? </a> </li> </ul> </div> </div> </div> <p class="article-nav-bar"></p> <div class="row sidebar article-nav"> <div class="row box_white visible-sm visible-md visible-lg margin-zero"> <div class="top"> <h3 class="title"><i class="glyphicon glyphicon-th-list"></i> Смежные вопросы</h3> </div> <div class="article-relative-content"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://ru.voidcc.com/question/p-kqjttjir-bpu.html" target="_blank" title="как получить"> как получить </a> </li> <li class="side_article_list_item"> 2. <a href="http://ru.voidcc.com/question/p-sorgikuk-x.html" target="_blank" title="Как получить/получить C struct из Python"> Как получить/получить C struct из Python </a> </li> <li class="side_article_list_item"> 3. <a href="http://ru.voidcc.com/question/p-tqsfnuxz-tt.html" target="_blank" title="Как получить и получить список пользовательских уведомлений"> Как получить и получить список пользовательских уведомлений </a> </li> <li class="side_article_list_item"> 4. <a href="http://ru.voidcc.com/question/p-ejuxrspp-bou.html" target="_blank" title="Как получить получить динамически генерируемые значение"> Как получить получить динамически генерируемые значение </a> </li> <li class="side_article_list_item"> 5. <a href="http://ru.voidcc.com/question/p-zqdbssqm-cy.html" target="_blank" title="pre-получить hook - как получить сообщения коммитов"> pre-получить hook - как получить сообщения коммитов </a> </li> <li class="side_article_list_item"> 6. <a href="http://ru.voidcc.com/question/p-vzmywhgu-bsh.html" target="_blank" title="Как получить NSManagedObjectId и получить данные"> Как получить NSManagedObjectId и получить данные </a> </li> <li class="side_article_list_item"> 7. <a href="http://ru.voidcc.com/question/p-dnsptcer-vp.html" target="_blank" title="Как получить Html.BeginForm ПОЛУЧИТЬ исправить MVC маршрут"> Как получить Html.BeginForm ПОЛУЧИТЬ исправить MVC маршрут </a> </li> <li class="side_article_list_item"> 8. <a href="http://ru.voidcc.com/question/p-qhvnatcp-da.html" target="_blank" title="Как получить ActivityContext, чтобы получить значение InArgument"> Как получить ActivityContext, чтобы получить значение InArgument </a> </li> <li class="side_article_list_item"> 9. <a href="http://ru.voidcc.com/question/p-msmulgvu-xv.html" target="_blank" title="Как получить Silverlight получить данные из MySQL"> Как получить Silverlight получить данные из MySQL </a> </li> <li class="side_article_list_item"> 10. <a href="http://ru.voidcc.com/question/p-qghbzqii-bpz.html" target="_blank" title="Как получить/получить идентификатор из ответа xml"> Как получить/получить идентификатор из ответа xml </a> </li> </ul> </div> </div> </div> </div> </div> </div> </div><!-- wrap end--> <!-- footer --> <footer id="footer"> <div class="bg-simple lt"> <div class="container"> <div class="row padder-v m-t"> <div class="col-xs-8"> <ul class="list-inline"> <li><a href="http://ru.voidcc.com/contact">Свяжитесь с нами</a></li> <li>© 2020 RU.VOIDCC.COM</li> <li><a rel="nofollow" href="https://beian.miit.gov.cn/" target="_blank">沪ICP备13005482号-13</a></li> <li><script type="text/javascript" src="https://s9.cnzz.com/z_stat.php?id=1280098168&web_id=1280098168"></script></li> <li><a href="http://cn.voidcc.com/" target="_blank" title="程序问答园区">简体中文</a></li> <li><a href="http://hk.voidcc.com/" target="_blank" title="程序問答園區">繁體中文</a></li> <li><a href="http://ru.voidcc.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.voidcc.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.voidcc.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.voidcc.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.voidcc.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.voidcc.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.voidcc.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.voidcc.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.voidcc.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.voidcc.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.voidcc.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-77509369-5"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-77509369-5'); </script> <script> var _hmt = _hmt || []; (function () { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?67d4731349f0b00136755b80364ce381"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>