Замена пути в тэге <A>
Подскажите с регуляркой плиз.
Как заменить в тэге скажем:
<a target=_blank href="http://mysite.ru?ya=ok&todo=no" tut_eshe kakie-to atributi>
домен mysite.ru на yoursite.ru ??
чтобы в итоге получилось:
<a target=_blank href="http://yoursite.ru?ya=ok&todo=no" tut_eshe kakie-to atributi>
ПС. с WWW и другими доменами третьего уровня тоже чтоб срабатывало правило.
я написал вот так:
Код:
$fromURL="mydomain.ru";
$toURL="yourdomain.ru";
preg_replace("/(<a[^>]*? href=.*?)(".preg_quote($fromURL).")(.*?>)/i", "\\1".$toURL."\\3", $tag);
$toURL="yourdomain.ru";
preg_replace("/(<a[^>]*? href=.*?)(".preg_quote($fromURL).")(.*?>)/i", "\\1".$toURL."\\3", $tag);
она не работает. точнее работает, но заменяет только тэги в которых нет атрибутов, так скажем ровные тэги. А сложные (с атрибутами и параметрами после "?") не меняет.
Код:
$fromURL="mydomain.ru";
$toURL="yourdomain.ru";
preg_replace('#(<a.*?href="http://).*?'.$fromURL.'(\?.*?")#is', "\\1".$toURL."\\2", $tag)
$toURL="yourdomain.ru";
preg_replace('#(<a.*?href="http://).*?'.$fromURL.'(\?.*?")#is', "\\1".$toURL."\\2", $tag)