Проблемы с конструкцией if

kkelsing

Новичок
Регистрация
04.04.2017
Сообщения
13
Благодарностей
0
Баллы
1
Добрый день, подскажите пожалуйста как реализовать.
а то я что то запутался.

Есть урл вида.
https://www.facebook.com/profile.php?id=100017922016412
https://www.facebook.com/emrula.havzi

Получаю, добавляю в переменную.
Дальше делаю обработку регуляркой, (?<=com/).*
На выходе имею,
profile.php?id=100017922016412
emrula.havzi
а мне нужно, 100017922016412 и emrula.havzi
Подскжаите как регуляркой получить или только эти значения.
или как собрать дополнительную проверку, через оператор if.
что бы на выходе я получил 100017922016412
{-Variable.TEST-} == '(?<=profile\.php\?id=).*'
 

san_sanich

Client
Регистрация
15.03.2017
Сообщения
257
Благодарностей
35
Баллы
28
Просто другой регуляркой обрезай первую ссылку. Сделай, чтобы бралось все после id=
 

kkelsing

Новичок
Регистрация
04.04.2017
Сообщения
13
Благодарностей
0
Баллы
1
Можно пример?
реально что то я запутался (
 

san_sanich

Client
Регистрация
15.03.2017
Сообщения
257
Благодарностей
35
Баллы
28

kkelsing

Новичок
Регистрация
04.04.2017
Сообщения
13
Благодарностей
0
Баллы
1
Вот с IF и проблема в общем то, как обработать регулярками я то понимаю.
А вот как через If реализовать что если типа 1 то такое действие а если тип 2 то такое.
Сам if вообще поддерживает regexp ?
 

kkelsing

Новичок
Регистрация
04.04.2017
Сообщения
13
Благодарностей
0
Баллы
1
можно ли в if указать как то маску ?
Ну например
{-Variable.TEST-} == 'profile*'
 

san_sanich

Client
Регистрация
15.03.2017
Сообщения
257
Благодарностей
35
Баллы
28
Вот с IF и проблема в общем то, как обработать регулярками я то понимаю.
А вот как через If реализовать что если типа 1 то такое действие а если тип 2 то такое.
Сам if вообще поддерживает regexp ?
Как вариант
 

kkelsing

Новичок
Регистрация
04.04.2017
Сообщения
13
Благодарностей
0
Баллы
1
Вот проблема в том что IF не отрабатывает.
'{-Variable.fb_profile_url_orig-}'=='id='
 

san_sanich

Client
Регистрация
15.03.2017
Сообщения
257
Благодарностей
35
Баллы
28

san_sanich

Client
Регистрация
15.03.2017
Сообщения
257
Благодарностей
35
Баллы
28
Сейчас у себя проверил на примере двух этих ссылок - все работает. Если ссылка содержит id=, то происходит переход на 1 regex, если не содержит, то на другой
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 650
Баллы
113
в искомом тексте замени profile.php?id= на пустоту, а потом уже своей регуляркой собирай айдишники
 

kkelsing

Новичок
Регистрация
04.04.2017
Сообщения
13
Благодарностей
0
Баллы
1
Ну вот смотри, строка на входе содержит все что нужно.
а IF отрабатывает по невыполнению.

В итоге все уходит не на ту регулярку.

 

san_sanich

Client
Регистрация
15.03.2017
Сообщения
257
Благодарностей
35
Баллы
28
Ну вот смотри, строка на входе содержит все что нужно.
а IF отрабатывает по невыполнению.

Ты забыл еще 1 regex до кубика if. Внимательно посмотри мой шаблон.
То есть, что происходит в том шаблоне что я показал. Есть полученная ссылка. Сначала с помощью регулярки пытаемся из нее выпарсить "id=" и кладем его в переменную checkId. Затем идем в if-else. Если "chekId"="id=", то значит в нашей ссылке есть "id=", а значит идем в кубик с регуляркой где обрабатываем ссылки такого рода. Если же в результате сравнения результат false, значит, что "id=" первой регуляркой взять не удалось, значит в ссылке этого нет и следовательно обрабатываем такую ссылку другой регуляркой.

А вообще хороший вариант у doc сверху, без этих костылей)
 
Последнее редактирование:
  • Спасибо
Реакции: kkelsing

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 131
Баллы
113
Регулярка возьмет 100017922016412 и emrula.havzi
Код:
[\w.-]+(?=$)
 

kkelsing

Новичок
Регистрация
04.04.2017
Сообщения
13
Благодарностей
0
Баллы
1

kkelsing

Новичок
Регистрация
04.04.2017
Сообщения
13
Благодарностей
0
Баллы
1

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 650
Баллы
113
  • Спасибо
Реакции: Dimionix

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 131
Баллы
113

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