Вопрос по регулярке и изменению html страницы

markzmanz

Client
Регистрация
22.05.2015
Сообщения
63
Благодарностей
4
Баллы
8
Всем привет!

Подскажите пожалуйста, есть скачанный сайт с 100 страницами + файлы сайта, внутри страниц стоят ссылки на эти файлы, но файлы имеют отличный вид названия ссылки ведущей на файл, например ссылка внутри страницы называется Практика переговоров. 7 занятие, но ссылка ведет на файл 09cb4e0f10b9961662e2bdd699c9f.mp3

Стоит задача:

Открыть каждую сохраненную HTML страницу и если на странице есть ссылка на файл, где в тэге <a></a> - одно название файла (содержит точку), а внутри href="" - другое (и тоже содержит точку, например:

HTML:
<a style="text-decoration: underline;" target="_top" href="09cb4e0f10b9961662e2bdd699c9f.mp3">Практика переговоров. 7 занятие.mp3</a>
то:
1) переименовать САМ файл из href="09cb4e0f10b9961662e2bdd699c9f.mp3" в "Практика переговоров. 7 занятие.mp3"

2)После этого изменить страницу, исправив ссылку на переименованный файл. Т.е. href тоже написать, как href="Практика переговоров. 7 занятие.mp3"
 

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 226
Баллы
113
С переменными работайте через обработку текстов:
upload_2016-1-12_13-25-8.png


С файлами через работу с файлами:
upload_2016-1-12_13-21-12.png
 
  • Спасибо
Реакции: markzmanz

markzmanz

Client
Регистрация
22.05.2015
Сообщения
63
Благодарностей
4
Баллы
8
Спасибо, Zortexx.
У меня еще 2 вопроса по регуляркам:

1) Можно ли объединить 2 регулярных выражения в одно общее? Т.е. например мне нужно спарсить со страницы ссылки двух видов в один список, но не хочется создавать 2 отдельных экшена для регулярок.

2) Есть ссылки вида:
http://files.mysite.ru/fileservice/file/download/a/170/sc/160/h/c530b5d8a2ab5030bea6d6368205ab.docx

Как регуляркой спарсить только название c530b5d8a2ab5030bea6d6368205ab.docx
При этом часть ссылки /a/170/sc/160/h/ - динамическая и меняется на всех ссылках
Кол-во знаков в самом названии файла тоже меняется.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
1. Нужны примеры ссылок. Ну или можно так: (Регулярка1)|(Регулярка2)
2. Регулярка: [^\/]+$
 
Последнее редактирование:
  • Спасибо
Реакции: markzmanz

markzmanz

Client
Регистрация
22.05.2015
Сообщения
63
Благодарностей
4
Баллы
8
  • Спасибо
Реакции: Dimionix

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)