Нормализация сдвинутых путей при парсинге в PHP
Давайте теперь научимся нормализировать
относительные сдвинутые пути. Такие
пути содержат одну или несколько
конструкций ../
, означающих,
что нужно подняться на папку выше.
Давайте посмотрим на примере. Пусть у нас есть следующий путь:
<?php
$href = '../dir/page.html';
?>
Пусть парсер обращается к следующему URL:
<?php
$url = 'http://targ.loc/cat/sat/';
?>
В этом случае нормализованный путь будет выглядеть следующим образом:
<?php
$norm = 'http://targ.loc/cat/dir/page.html';
?>
Реализуйте функцию, которая будет выполнять нормализацию путей такого вида.
Пусть парсер обращается к следующему URL:
<?php
$url = 'http://targ.loc/cat/sat/';
?>
Получите все href
на странице и
выполните их нормализацию:
<a href="page.html">text</a>
<a href="dir/page.html">text</a>
<a href="../dir/page.html">text</a>
<a href="../../dir/page.html">text</a>