регулярные выражения

A

Attikus

#1
здравствуйте! прошу помочь написать регулярку для следующего случая. мне необходимо собрать со страницы все ссылки с определенной маской и тем ссылкам, у которых target отсутсвует или не равен "_blank", нужно вставить target="_parent".

ссылки по своей маске получаю следующим образом:

Код:
(<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 );
 
W

Wmboard

#2
За костыли спасибо. Что поделились. Квалифицированный отзыв дать не могу. :)
 
Get involved!

Here you can only see a limited number of comments. On СЕО Форум Вебмастеров you see all comments and all functions are available to you. To the thread