2017-02-06 3 views
0

Как найти и заменить все URL-пути в HTML-файле? У меня есть файл HTML со ссылками из Wayback Machine, как эти:Как заменить URL-адрес в html-файле

"/web/2016***/http://blog.mydomain.com/archive/img.jpg"  
"/web/2016***/http://blog.mydomain.com/archive/img2.jpg" 
"/web/2016***/http://blog.mydomain.com/archive/page2.html" 

2016*** часть является динамическим. Как извлечь эти элементы:

"/archive/img.jpg" 
"/archive/img2.jpg" 
"/archive/page2.html" 

Я пробовал:

$html = $url; 
$content = file_get_contents($html); 
$newhtml = preg_replace('web/-[^-.]*\./' , '/' , $content); 
file_put_contents('post1.html', $newhtml); 

ответ

1

Попробуйте это регулярное выражение: \/web.*blog\.mydomain\.com(.*):

preg_replace('\/web.*blog\.mydomain\.com(.*)', '\1', $content); 

проверить его в действии: https://regex101.com/r/m5ZaRo/3

+0

Предупреждение : preg_replace(): разделитель не должен быть буквенно-цифровым или обратным слэшем – dexter

+0

Я добавлю первый '/ \' и последний '/' он работает, спасибо – dexter