здравствуйте! прошу помочь написать регулярку для следующего случая. мне необходимо собрать со страницы все ссылки с определенной маской и тем ссылкам, у которых target отсутсвует или не равен "_blank", нужно вставить target="_parent".
ссылки по своей маске получаю следующим образом:
осталось понять, как быть с target
Добавлено через 34 минуты
решение пока только костыльное созрело, если кто знает, как хорошо, буду благодарен отзыву
ссылки по своей маске получаю следующим образом:
Код:
(<a.*?href=["\']?https?:\/\/[-\w]*?\.domen\.subdomen\.ru.*?["\']?(?:\s+|>))
осталось понять, как быть с target
Добавлено через 34 минуты
решение пока только костыльное созрело, если кто знает, как хорошо, буду благодарен отзыву
Код:
$content = preg_replace_callback( '#(<a(?:[^>](?!(target=)=))*+)#si', function ($matches) { if(strpos($matches[1], 'domen.subdomen.ru')) { if(strpos($matches[1], '_blank')) { return $matches[1]; } else { return $matches[1] . 'target = "_parent"'; } } else { return $matches[1]; } }, $content );