| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Регулярные выражения > Выбрать ссылки |
| Автор: Mosaicolor 10.2.2014, 14:10 |
| Понимаю, что задачка, наверное очень простая, но прошу не смеяться, а помочь. Есть некий текст. В нем некоторое количество ссылок вида: <a title="bomba direccion" class="aprovechamiento_pieza_envehiculo" href="/detalle-pieza-1533414.html">bomba direccion</a> Необходимо выбрать их все (но неизвестно, сколько их, от 0 до пары сотен) и каждую представить в виде двух переменных: ссылка и анкор. И хотелось бы обойтись без модуля-парсера. Использовать регулярное выражение. |
| Автор: Mosaicolor 10.2.2014, 14:42 |
| Немного еще подумал... Пожалуй, можно не 2 переменных, а одну - всю ссылку с анкором. Все равно они пишутся в БД, а разобрать их можно уже там, по-одной. Основная сложность остается в том, что неизвестно, сколько ссылок. Ссылки в итоге выбрал: s/href=(?:\"|\')?(.+?)(?:\"|\')(?:>|\s)/ Но они без анкоров. А нужны с анкорами. Подправьте, пожалуйста, регулярку. |
| Автор: alezzz 11.2.2014, 09:13 |
| Забыл я уже эти SEO-шные термины |
| Автор: Mosaicolor 11.2.2014, 12:21 |
| Спасибо, что откликнулись. Из регулярного выражения, что я написал, я получаю только ссылку: /detalle-pieza-1533414.html А нужна мне ссылка с анкором (текстом ссылки), вот такого вида: /detalle-pieza-1533414.html bomba direccion |