Подмена урлов

Задача у меня была такая.... Нужно заменить улы, которые с корня сайта начинаются, на ониех же, но подставив адрес сайта.


// подстановка в урлы и src адрес сайта
$text = '<h2>Здравствуйте, %%name%%.</h2>
<p>Вот Вам Наша рассылка на e-mail %%email%%.</p>
<p><img src="/image.php?id=147" width="147" height="115" alt=""/></p>
<p>Тут еще что-то написать... И <a title="url1" href="/file.php?id=147" target="_blank" >смотрите</a> ниже <a href="/file.php?id=148">товары</a></p>
<hr/>';


    function moddPregRepl($text){
        $PatternHref = "/<a\s+([\s\S]*)href\s*=
\s*(?:\"|'|)\/(.*)(?:\"|'|[>\s])([\s\S]*)>([\s\S]*)<\/a>/is";
        $PatternSrc = "/<img\s+([\s\S]*)src\s*=\s*(?:\"|'|)\/(.*)(?:\"|'|[>\s])([\s\S]*)\/>/is";
        $search = array(
            $PatternHref,
            $PatternSrc
        );
        $replace = array(
            moddFHref("\\1", "\\2","\\3","\\4"),
            moddFSrc("\\1","\\2","\\3")
        );

        return preg_replace($search, $replace, $text);
    }
    function moddFHref($before,$href,$after,$txt){     
         return '<a '.$before.' href="'.moddHrefSrcForm($href).'" '.$after.'>'.$txt.'</a>';
    }
    function moddFSrc($before,$src,$after){ 
        return '<img '.$before.' src="'.moddHrefSrcForm($src).'" '.$after.'/>';
    }
    function moddHrefSrcForm($href){
        global $gConfig;  // $gConfig['fullBaseURL'] - тут у меня адрес сайта
        return  $gConfig['fullBaseURL'].$href;
       
    }

Комментарии

Популярные сообщения