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

  • Автор темы Автор темы markzmanz
  • Дата начала Дата начала

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"
 
С переменными работайте через обработку текстов:
upload_2016-1-12_13-25-8.png


С файлами через работу с файлами:
upload_2016-1-12_13-21-12.png
 
  • Оценить
Реакции: markzmanz
Спасибо, 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/ - динамическая и меняется на всех ссылках
Кол-во знаков в самом названии файла тоже меняется.
 
1. Нужны примеры ссылок. Ну или можно так: (Регулярка1)|(Регулярка2)
2. Регулярка: [^\/]+$
 
Последнее редактирование:
  • Оценить
Реакции: markzmanz

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