Регулярные выражения Perl и их применение

       

Преобразование ftp, http и e-mail ссылок в теги HTML


Если в тексте могут присутствовать адреса электронной почты, то наша задача усложняется, поскольку ссылка через прокси-сервер

http://www.proxy.com:80@www.site.com/

может трактоваться неоднозначно из-за наличия в ней символа @. Если мы сначала будем искать адреса электронной почты, то программа может "найти" такой e-mail:

80@www.site.com

Конфликт также может возникнуть со ссылками вида

ftp://login:passw@a-aa.com/www/

Чтобы устранить этот конфликт, перепишем регулярные выражения для поиска URL и добавим к ним регулярное выражение для поиска e-mail. Форматировать ссылки будем несколькими операторами подстановки, т.к. для одного оператора эта задача слишком сложна.

Вот текст всей этой программы:

Листинг 8.3.

(html, txt)

А вот результат ее работы:

Листинг 8.4.

(html, txt)

Как видим, в этом тестовом тексте программа правильно отделила e-mail ссылки от остальных ссылок.



Содержание раздела