01.06.2020, 10:32 [+3 UTC]
в нашей команде: 4 582 чел. | участники онлайн: 3 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.89 (25.04.2020)
JS-v.1.45 | CSS-v.3.39

Общие новости:
13.04.2020, 00:02

Форум:
31.05.2020, 09:51

Последний вопрос:
01.06.2020, 04:25
Всего: 152540

Последний ответ:
01.06.2020, 01:40
Всего: 260229

Последняя рассылка:
01.06.2020, 02:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
14.04.2011, 13:55 »
Ольга Дмитриевна
Спасибо!!! [вопрос № 182825, ответ № 266662]
20.01.2016, 10:23 »
MasterWW
Вполне развернутый ответ со ссылками на ГПК РФ. [вопрос № 188683, ответ № 273253]

РАЗДЕЛ [неизвестная рассылка]

[администратор рассылки: [неизвестный]]

Лучшие эксперты в этом разделе


Перейти к консультации №:
 

Консультация онлайн # 143761
Раздел: [неизвестная рассылка]
Автор вопроса: Алексей Юрьевич М.
Отправлена: 12.09.2008, 19:27
Поступило ответов: 0

Здравствуйте!
Подскажите пожалуйста как решить следующую задачу (php, preg_replace).
Есть некий набор урлов (приложение 1)
Как с помощью регексов поставить ./f.php? перед http:// у урла, в котором есть текст replace.ru или replace2.ru, т.е. получить приложение 2, а у которых нет ранее упомянутого текста убрать все до http%3a (получить приложение 3)?
И можно-ли это сделать одним регексом?

Приложение:

Состояние: Консультация закрыта

Oтветов пока не поступило.

Мини-форум консультации № 143761
-OC-

# 1

= общий = | 13.09.2008, 10:23

А что у вас вызывает затруднения?
Задача достаточно тривиальная smile
Теоретически сделать это одним регэкспом можно, но вряд ли это будет проще. Лучше разбить задачу на 2 части.
1. Ищем совпадение с replace.ru или replace2.ru

  replace\.ru|replace2\.ru  
, если оно есть то делаем контактацию строк, если нет совпадения - переходим к п.2
2. Удаляем часть сторки начинающуюся с http и до следующего http.
  ^(http[-a-z0-9_&?=+,.!/~*'%]*)http/i  

Вуаля.
PS за абсолютную точность регэкспов( последнего) не ручаюсь. Возможно в php не будет работать ибо реализация механизма регулярных выражений там уж очень "убогая" smile и может потребоваться модификация

неизвестный

# 2

= общий = | 13.09.2008, 10:50

Спасибо!
С первым разобрался.
Однако со вторым не понял...
Пытаюсь выполнить вторую задачу так:

echo preg_replace("/(?<!f\.php)\?http:\/\/.*url\=(http.*?<)/",rawurldecode("\\1"),$txt);

Но таким регексом почему-то не получается.

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.14655 сек.

© 2001-2020, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.89 от 25.04.2020
Версия JS: 1.45 | Версия CSS: 3.39