1. <legend id='cSgio'><style id='cSgio'><dir id='cSgio'><q id='cSgio'></q></dir></style></legend>

    <small id='cSgio'></small><noframes id='cSgio'>

    <i id='cSgio'><tr id='cSgio'><dt id='cSgio'><q id='cSgio'><span id='cSgio'><b id='cSgio'><form id='cSgio'><ins id='cSgio'></ins><ul id='cSgio'></ul><sub id='cSgio'></sub></form><legend id='cSgio'></legend><bdo id='cSgio'><pre id='cSgio'><center id='cSgio'></center></pre></bdo></b><th id='cSgio'></th></span></q></dt></tr></i><div id='cSgio'><tfoot id='cSgio'></tfoot><dl id='cSgio'><fieldset id='cSgio'></fieldset></dl></div>
  2. <tfoot id='cSgio'></tfoot>
      <bdo id='cSgio'></bdo><ul id='cSgio'></ul>
    1. 查找页面中的所有 hrefs 并替换为保持上一个链接的链接 - PHP

      Find all hrefs in page and replace with link maintaining previous link - PHP(查找页面中的所有 hrefs 并替换为保持上一个链接的链接 - PHP)

          <bdo id='9muCr'></bdo><ul id='9muCr'></ul>

          <small id='9muCr'></small><noframes id='9muCr'>

              <legend id='9muCr'><style id='9muCr'><dir id='9muCr'><q id='9muCr'></q></dir></style></legend>

                <tfoot id='9muCr'></tfoot>
                  <tbody id='9muCr'></tbody>

              1. <i id='9muCr'><tr id='9muCr'><dt id='9muCr'><q id='9muCr'><span id='9muCr'><b id='9muCr'><form id='9muCr'><ins id='9muCr'></ins><ul id='9muCr'></ul><sub id='9muCr'></sub></form><legend id='9muCr'></legend><bdo id='9muCr'><pre id='9muCr'><center id='9muCr'></center></pre></bdo></b><th id='9muCr'></th></span></q></dt></tr></i><div id='9muCr'><tfoot id='9muCr'></tfoot><dl id='9muCr'><fieldset id='9muCr'></fieldset></dl></div>
                本文介绍了查找页面中的所有 hrefs 并替换为保持上一个链接的链接 - PHP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                我正在尝试查找网页上的所有 href 链接,并将该链接替换为我自己的代理链接.

                I'm trying to find all href links on a webpage and replace the link with my own proxy link.

                例如

                <a href="http://www.google.com">Google</a>
                

                必须

                <a href="http://www.example.com/?loadpage=http://www.google.com">Google</a>
                

                推荐答案

                使用PHP的DomDocument解析页面

                $doc = new DOMDocument();
                
                // load the string into the DOM (this is your page's HTML), see below for more info
                $doc->loadHTML('<a href="http://www.google.com">Google</a>');
                
                //Loop through each <a> tag in the dom and change the href property
                foreach($doc->getElementsByTagName('a') as $anchor) {
                    $link = $anchor->getAttribute('href');
                    $link = 'http://www.example.com/?loadpage='.urlencode($link);
                    $anchor->setAttribute('href', $link);
                }
                echo $doc->saveHTML();
                

                在这里查看:http://codepad.org/9enqx3Rv

                如果您没有将 HTML 作为字符串,您可以使用 cUrl (docs) 来抓取 HTML,也可以使用 DomDocument

                If you don't have the HTML as a string, you may use cUrl (docs) to grab the HTML, or you can use the loadHTMLFile method of DomDocument

                文档

                • DomDocument - http://php.net/manual/en/class.domdocument.php
                • DomElement - http://www.php.net/manual/en/class.domelement.php
                • DomElement::getAttribute - http://www.php.net/manual/en/domelement.getattribute.php
                • DOMElement::setAttribute - http://www.php.net/manual/en/domelement.setattribute.php
                • urlencode - http://php.net/manual/en/function.urlencode.php
                • DomDocument::loadHTMLFile - http://www.php.net/manual/en/domdocument.loadhtmlfile.php
                • cURL - http://php.net/manual/en/book.curl.php
                • DomDocument - http://php.net/manual/en/class.domdocument.php
                • DomElement - http://www.php.net/manual/en/class.domelement.php
                • DomElement::getAttribute - http://www.php.net/manual/en/domelement.getattribute.php
                • DOMElement::setAttribute - http://www.php.net/manual/en/domelement.setattribute.php
                • urlencode - http://php.net/manual/en/function.urlencode.php
                • DomDocument::loadHTMLFile - http://www.php.net/manual/en/domdocument.loadhtmlfile.php
                • cURL - http://php.net/manual/en/book.curl.php

                这篇关于查找页面中的所有 hrefs 并替换为保持上一个链接的链接 - PHP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                相关文档推荐

                Proxy Authentication Required with cURL(cURL 需要代理身份验证)
                How to use a SOCKS 5 proxy with cURL?(如何使用带有 cURL 的 SOCKS 5 代理?)
                How to use HTTP_X_FORWARDED_FOR properly?(如何正确使用 HTTP_X_FORWARDED_FOR?)
                file_get_contents behind a proxy?(代理后面的 file_get_contents ?)
                pecl install cassandra throws: quot;error: Unable to load libcassandraquot;(pecl install cassandra 抛出:“错误:无法加载 libcassandra)
                Installing php datastax driver on ubuntu(在 ubuntu 上安装 php datastax 驱动)
                <legend id='RIm9q'><style id='RIm9q'><dir id='RIm9q'><q id='RIm9q'></q></dir></style></legend>

                  • <bdo id='RIm9q'></bdo><ul id='RIm9q'></ul>
                      <tfoot id='RIm9q'></tfoot>
                    • <i id='RIm9q'><tr id='RIm9q'><dt id='RIm9q'><q id='RIm9q'><span id='RIm9q'><b id='RIm9q'><form id='RIm9q'><ins id='RIm9q'></ins><ul id='RIm9q'></ul><sub id='RIm9q'></sub></form><legend id='RIm9q'></legend><bdo id='RIm9q'><pre id='RIm9q'><center id='RIm9q'></center></pre></bdo></b><th id='RIm9q'></th></span></q></dt></tr></i><div id='RIm9q'><tfoot id='RIm9q'></tfoot><dl id='RIm9q'><fieldset id='RIm9q'></fieldset></dl></div>

                          <tbody id='RIm9q'></tbody>

                        <small id='RIm9q'></small><noframes id='RIm9q'>