Исправить ссылки адреса на сайтах HTML кода - PullRequest
1 голос
/ 28 января 2010

Я работал над одним инструментом в последнее время. Он захватывает все адреса ссылок с сайта.

Моя проблема в том, что ссылки в HTML-коде иногда отличаются:

Мне нужно сделать все ссылки одинаковыми:

/index.php                       -> http://www.website.com/index.php
index.php                        -> http://www.website.com/index.php
http://www.website.com/index.php -> http://www.website.com/index.php

Спасибо за помощь.

Ответы [ 4 ]

1 голос
/ 28 января 2010

Использование preg_replace для исправления относительных URL


Требуется:
$domain = домен тематических сайтов
$path = документ или строка, с которой вы ищете относительные ссылки в.

Возвращает:
$url = элемент или строка со ссылками внутри него, преобразованные в правильные URL-адреса с данным доменом.

Код:

$url = preg_replace('<a\shref="([\/\?\w\.=\&]+)"([\s]rel="(\w+)")*>/', '<a href="http://{$site_domain}$1" rel="$3">' $path)  

удачи, дайте мне знать, как все идет.

1 голос
/ 28 января 2010

Вот функция , которая будет возвращать абсолютный URL с учетом базового (текущего) и относительного URL.

1 голос
/ 28 января 2010

Вам необходимо проверить наличие тега base . Если он найден, он указывает базовый URL (в противном случае базовый URL - это тот же путь, на который указывает браузер, вплоть до последнего /).

1 голос
/ 28 января 2010

Добро пожаловать на GoogleOverflow.com.

Вот полное руководство по разбору ссылок в HTML с использованием PHP и регулярных выражений: http://www.the -art-of-web.com / php / parse-links /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...