Подмена урлов
Задача у меня была такая.... Нужно заменить улы, которые с корня сайта начинаются, на ониех же, но подставив адрес сайта.
// подстановка в урлы и 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;
}
// подстановка в урлы и 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;
}
Комментарии
Отправить комментарий