2014-02-20 2 views
-1

Я создал скрипт Perl, который будет использовать онлайн-сайт для взлома хэшей MD5 после ввода пользователем хэшей. Я частично успешный, поскольку я могу получить ответ с веб-сайта, хотя мне нужно проанализировать HTML и отобразить хэш, а также соответствующий пароль в текстовом виде для пользователя. Ниже приведен результат сниппет я получить сейчас:Анализ HTML с использованием perl regex

<strong>21232f297a57a5a743894a0e4a801fc3</strong>: admin</p> 

Использование регулярных выражений дружище, я был в состоянии использовать следующее выражение [а-z0-9] {32}, чтобы соответствовать хэш-часть в одиночку. Мне нужен конечный результат в следующем формате:

21232f297a57a5a743894a0e4a801fc3: admin 

Любая помощь будет оценена. Спасибо!

+1

's/<.+?> // г;' ... –

+0

Посмотрите на http://stackoverflow.com/questions/1732348/regex-match-open-tags -except-XHTML-самодостаточный-теги. – simbabque

+1

Я не понимаю сценарий: если это ваш сайт, и пользователь уже использует элементы формы, почему вы не можете использовать параметр POST/GET? – cypherabe

ответ

2

Я думаю, вам будет намного лучше использовать HTML::Parser, чтобы просто/достоверно разобрать этот HTML. В противном случае вы попадаете в кошмар для разбора HTML с регулярными выражениями, и вы обнаружите, что это не работает надежно.

+0

1. Найдите * регулярный текст HTML *. 2. Опубликуйте ответ на комментарий «используйте парсер». 3. ???? 4. Прибыль! ; p – Qtax

+2

Я хотел бы думать, что фактическое указание OP на определенный модуль анализа Perl HTML немного больше, чем –

+1

. Я предпочитаю указывать их на [анализ HTML-вопроса] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contains-tags) ... :) – simbabque

1

Существует несколько инструментов, которые могут обрабатывать как выборку, так и анализ страницы, доступной для CPAN. Один из них - Web::Scraper. Скажите, какую страницу выбрать и какие узлы (в синтаксисе xpath или CSS) вы хотите, и он получит их для вас. Я не буду приводить пример, поскольку я не знаю вашего URL.

Существует хороший blogpost about this on blogs.perl.org by stas, который использует другой модуль, который также может быть полезен.

0

Вот оно:

$str = q{<strong>21232f297a57a5a743894a0e4a801fc3</strong>: admin</p>}; 
@arr = $str =~ m{<strong>(.+)</strong>(.+)</p>}; 
print(join("", @arr), "\n");