Страница 1 из 1

Определить ссылку регулярным выражением

Добавлено: 30 ноя 2013, 21:22
Duncon
Проблема следующая: какой-то умник из яндекса или ещё от куда взял моду писать ссылку на свои ресурсы в виде //mc.yandex. ru/... как следствие стандартные схемы вычисления внешней ссылки через двоеточие например отпадают. Единственный на мой взгляд способ зацепиться за двойной слэшь //
И вот тут почему-то начались проблемы, пытался по всякому, в данный момент остановился на попытках позитивной опережающей проверке, не получается.
Смысл выражения вычленить все ссылки добавить моё значение, при этом отвергнув внешние ссылки..

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

$s=preg_replace('#(ef=[\'|"])([^(/(?=/))]*?[\'|"])#','\\1'.$myval.'\\2',$s); 

Re: Определить ссылку регулярным выражением

Добавлено: 01 дек 2013, 00:23
Duncon
Решил таким образом..

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

$s=preg_replace('#(ef=[\'|"])((?!/|\S{3,4} :) .*?[\'|"])#','\1'.$myval.'\2',$s);