激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

香港云服务器
服務器之家 - 編程語言 - PHP教程 - PHP利用正則表達式將相對路徑轉成絕對路徑的方法示例

PHP利用正則表達式將相對路徑轉成絕對路徑的方法示例

2021-04-27 15:57馬富天 PHP教程

這篇文章主要介紹了PHP利用正則表達式將相對路徑轉成絕對路徑的方法,文中給出了詳細的示例代碼,大家可以整合成一個方法,在需要的地方調用,非常的不錯。需要的朋友們下面來一起看看吧。

前言

大家應該都有所體會,很多時候在做網絡爬蟲的時候特別需要將爬蟲搜索到的超鏈接進行處理,統一都改成絕對路徑的,所以本文就寫了一個正則表達式來對搜索到的鏈接進行處理。下面話不多說,來看看詳細的介紹吧。

通常我們可能會搜索到如下的鏈接:

?

          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          17
          18
          19
          20
          21
          22
          23
          24
          25
          26
          27
          28
          29
          30
          31
          32
          33
          34
          35
          36
          37
          38
          39
          40
          41
          42
          43
          44
          45
          46
          47
          48
          49
          50
          51
          52
          53
          54
          55
          56
          57
          58
          59
          60
          61
          62
          <!-- 空超鏈接 -->
          <a href=""></a>
          <!-- 空白符 -->
          <a href=" " rel="external nofollow" > </a>
          <!-- a標簽含有其它屬性 -->
          <a href="index.html" rel="external nofollow" rel="external nofollow" rel="external nofollow" alt="超鏈接"> index.html </a>
          <a href="/" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" target="_blank"> / target="_blank" </a>
          <a target="_blank" href="/" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" alt="超鏈接" > target="_blank" / id="codetool">

          處理的第一步,設置成絕對路徑:

          ?
          1
          http:// ... / ../ ../

          然后本文講講如何去除絕對路徑中的 './'、'../'、'/..'的實現代碼:

          ?
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          17
          18
          19
          20
          21
          22
          function url_to_absolute($relative)
          {
           $absolute = '';
           // 去除所有的 './'
           $absolute = preg_replace('/(?<!\.)\.\//','',$relative);
           $count = preg_match_all('/(?<!\/)\/([^\/]{1,}?)\/\.\.\//',$absolute,$res);
           // 迭代去除所有的 '/abc/../'
           do
           {
           $absolute = preg_replace('/(?<!\/)\/([^\/]{1,}?)\/\.\.\//','/',$absolute);
           $count = preg_match_all('/(?<!\/)\/([^\/]{1,}?)\/\.\.\//',$absolute,$res);
           }while($count >= 1);
           // 除去最后的 '/..'
           $absolute = preg_replace('/(?<!\/)\/([^\/]{1,}?)\/\.\.$/','/',$absolute);
           $absolute = preg_replace('/\/\.\.$/','',$absolute);
           // 除去存在的 '../'
           $absolute = preg_replace('/(?<!\.)\.\.\//','',$absolute);
           return $absolute;
          }
          $relative = 'http://www.mytest.org/../a/.../../b/c/../d/..';
          var_dump(url_to_absolute($relative));
          // 輸出:string 'http://www.mytest.org/a/b/' (length=26)

          總結

          以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

          延伸 · 閱讀

          精彩推薦
          405
          主站蜘蛛池模板: 爱看久久| 伊人一二三四区 | 午夜视频在线免费 | 久久精品九九 | 亚洲第五色综合网 | 国av在线| 一区二区三区日韩在线观看 | 九九热九九热 | h视频在线免费看 | 国产一区在线观看视频 | 在线免费观看日韩视频 | 一边吃奶一边摸下娇喘 | 午夜精品福利影院 | 91高清国产视频 | 99亚洲伊人久久精品影院红桃 | 欧美成人一区二区三区电影 | 欧美一区二区三区免费电影 | 毛片免费视频在线观看 | 欧美成人免费小视频 | 久久久久久亚洲国产精品 | 中国洗澡偷拍在线播放 | 美女擦逼 | 亚洲一级片在线观看 | 精品一区二区三区在线观看视频 | 亚洲第一成人在线观看 | 欧美a∨一区二区三区久久黄 | 国产xxxx岁13xxxxhd| 国产免费v片 | 香蕉黄色网| 免费观看一区 | 国产青草视频在线观看 | 精选久久| 欧美国产一区二区三区激情无套 | 久草在线免费看 | 人禽l交免费视频观看 视频 | 欧美成人精品一区二区三区 | 欧美黄色大片免费观看 | 美女黄污视频 | 九色 在线| 日韩精品免费一区二区三区 | 91热久久免费频精品黑人99 |