⊗ppPsPtAb 37 of 84 menu

Нармалізацыя абсалютных шляхоў пры парсінгу ў PHP

Калі ажыццяўляецца парсінг сайтаў, нам як правіла трэба атрымліваць адрасы спасылак, шляхі да малюнкаў, CSS і JavaScript файлаў.

Для нашых мэт было б зручна, каб гэтыя адрасы ўтрымлівалі поўны URL разам з імём дамена, прыкладна вось так:

<a href="http://targ.loc/dir/sub/page.html">text</a>

У рэальным жыцці, аднак, даменнае імя ў шляхах на сайце прынята апускаць і шляхі выглядаюць прыкладна вось так (са скісом у пачатку):

<a href="/dir/sub/page.html">text</a>

Давайце выканаем нармалізацыю такога шляху. Хай у нас у зменнай захоўваецца дамен, да якога мы звяртаемся:

<?php $domain = 'http://targ.loc'; ?>

Хай мы таксама здабылі шлях з href спасылкі:

<?php $href = '/dir/sub/page.html'; ?>

Давайце выканаем яго нармалізацыю:

<?php $norm = $domain . $href; ?>

Атрымайце ўсе href на старонцы і выканайце іх нармалізацыю:

<a href="/page.html">text</a> <a href="/dir/page.html">text</a> <a href="/dir/sub/page.html">text</a>

Атрымайце ўсе href на старонцы і выканайце іх нармалізацыю, дзе гэта неабходна:

<a href="/page.html">text</a> <a href="/dir/page.html">text</a> <a href="/dir/sub/page.html">text</a> <a href="http://targ.loc/dir/sub/page.html">text</a>

Атрымайце ўсе src на старонцы і выканайце іх нармалізацыю, дзе гэта неабходна:

<img src="/img.png"> <img src="/images/img.png"> <img src="http://targ.loc/images/img.png">

Атрымайце ўсе шляхі і выканайце іх нармалізацыю:

<link rel="stylesheet" href="/styles.css"> <script src="/scripts.js"></script>

Атрымайце ўсе шляхі і выканайце іх нармалізацыю:

div { background: url('/images/img.png'); }

Атрымайце ўсе шляхі і выканайце іх нармалізацыю:

div { background: url(/img.png); background: url('/images/img.png'); background: url("/images/img.png"); background: url("http://targ.loc/images/img.png"); }
Беларуская
AfrikaansAzərbaycanБългарскиবাংলাČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць