Регулярные выражения в ПХП

вопросы и ответы по использованию PHP
Ответить

tailor
Сообщения: 19
Зарегистрирован: 12 окт 2010, 00:35

Сообщение tailor » 22 окт 2010, 05:06

Подскажите кто-нибудь регулярку, чтобы вытащить ссылку из письма.

Код: Выделить всё

preg_match("/http:\/\/signup.wordpress.com\/activate\/[a-zA-Z0-9]/", $value,  $value2)
Не работает, как ни извращался .там в конце и в начале ссылки 2 черты идут -- с буквами, нужно как-то их отбросить и поместить ссылку в $value2.

c preg_replace чет не получается никак.

satih
Сообщения: 269
Зарегистрирован: 31 мар 2010, 23:44

Сообщение satih » 22 окт 2010, 07:20

tailor писал(а):Подскажите кто-нибудь регулярку, чтобы вытащить ссылку из письма.

Код: Выделить всё

preg_match("/http:\/\/signup.wordpress.com\/activate\/[a-zA-Z0-9]/", $value,  $value2)
Не работает, как ни извращался .там в конце и в начале ссылки 2 черты идут -- с буквами, нужно как-то их отбросить и поместить ссылку в $value2.

c preg_replace чет не получается никак.

Код: Выделить всё

preg_match("|http://signup\.wordpress\.com/activate/\w+|", $value,  $value2)
может сработает, дай пример, будет понятней что тебе нужно

tailor
Сообщения: 19
Зарегистрирован: 12 окт 2010, 00:35

Сообщение tailor » 23 окт 2010, 01:49

вот письмо:

Код: Выделить всё

Thank you for signing up with WordPress.com.

You are one step away from blogging at baycapssin2.wordpress.com.
Please click this link to activate your blog:

http://signup.wordpress.com/activate/c35236aa00bc8cb6

--The WordPress.com Team

(If clicking the link in this message does not work, copy and paste it
into the address bar of your browser.)
разбивая строки через explode(" ", $value); , я получаю строчку

Код: Выделить всё

blog: http://signup.wordpress.com/activate/c35236aa00bc8cb6--
Нужно выдрать эту ссылку:

Код: Выделить всё

http://signup.wordpress.com/activate/c35236aa00bc8cb6

Аватара пользователя
rcc0023
Сообщения: 65
Зарегистрирован: 22 июн 2009, 17:14

Сообщение rcc0023 » 23 окт 2010, 02:37

Код: Выделить всё

preg_match("/http:\/\/signup.wordpress.com\/activate\/([a-zA-Z0-9]{15,20})/", $value,  $value2);
Написание ботов для онлайн игр, от 3000руб. Отзывы: http://www.free-lance.ru/users/botogame

tailor
Сообщения: 19
Зарегистрирован: 12 окт 2010, 00:35

Сообщение tailor » 28 окт 2010, 15:13

спасибо, как все просто оказывается :)

arp
Сообщения: 17
Зарегистрирован: 03 апр 2009, 00:25

Сообщение arp » 31 окт 2010, 16:02

кстати, у конкурентов есть очень удобная функция для работы с регулярками. было бы очень удобно, если бы тут было что-то подобное :)

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3057
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Сообщение bigfozzy » 31 окт 2010, 19:01

тулза по тестированию регулярок ?

сделаем )). Давно собирались, просто где-то забыли.
Спасибо за напоминание, добавлено в TODO

satih
Сообщения: 269
Зарегистрирован: 31 мар 2010, 23:44

Сообщение satih » 31 окт 2010, 20:07

RegexBuddy - мега удобный и портабельный (разве что на английском). софтину можно найти на ру-борде например

------------------------------------------------------------

упс, насчет конструктора имел ввиду RegexMagic, того-же автора, просто гораздо больше юзаю RegexBuddy для анализа регулярок. все же всем советую посмотреть ветку ру-борда, там вообще весь софт автора выложен http://forum.ru-board.com/topic.cgi?for ... opic=20823
Последний раз редактировалось satih 02 ноя 2010, 01:56, всего редактировалось 1 раз.

arp
Сообщения: 17
Зарегистрирован: 03 апр 2009, 00:25

Сообщение arp » 01 ноя 2010, 13:03

bigfozzy писал(а):тулза по тестированию регулярок ?

сделаем )). Давно собирались, просто где-то забыли.
Спасибо за напоминание, добавлено в TODO
ну она не только тестирует, но и сама составляет их. очень быстро - не тратится время. ждем :)
satih писал(а):RegexBuddy - мега удобный и портабельный (разве что на английском). софтину можно найти на ру-борде например
спасибо, попробую

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3057
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Сообщение bigfozzy » 01 ноя 2010, 22:29

RegexBuddy
официальный сайт:
http://www.regexbuddy.com/

Простой онлайн конструктор регулярных выражений:
http://realcode.ru/regexptester/default.aspx
Последний раз редактировалось bigfozzy 01 ноя 2010, 22:34, всего редактировалось 1 раз.

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3057
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Сообщение bigfozzy » 01 ноя 2010, 22:32

http://habrahabr.ru/tag/%D1%80%D0%B5%D0 ... %8F/page1/

еще полезные статьи по регулярным выражениям

Vinny
Сообщения: 13
Зарегистрирован: 28 окт 2010, 18:40

Re: Регулярные выражения в ПХП

Сообщение Vinny » 17 май 2011, 13:35

Дабы не плодить подобных тем, спрошу тут
Как в с помощью preg_replace(); заменить ВСЕ символы отличные от букв и цифр на тире (-)?
И слеш (/)в том числе :)

satih
Сообщения: 269
Зарегистрирован: 31 мар 2010, 23:44

Re: Регулярные выражения в ПХП

Сообщение satih » 17 май 2011, 14:37

Код: Выделить всё

preg_replace('`[^a-zA-Z0-9]`', '-', $subject);
ВСЕ символы кроме букв и цифр включают также пробелы и переносы строк, если хочешь все же какие-то разделители оставить, можно так

Код: Выделить всё

preg_replace('`[^a-zA-Z0-9\r\n\s\t]`', '-', $subject);
слеш '/' для регулярок вообще не является специальным символом, незнаю чем он тебя смутил

Ответить