添加额外的属性preg_replace

时间:2011-12-17 08:33:15

标签: regex

我有一个字符串:

$string = '<a href="/news/blablalba">some text</a>';

我需要在/ news / blablabla之前在{+ 3}}内添加target="_blank"属性。

preg_replace("/<a href=\"\/(.*)\">(.*)<\/a>/iU", "<a target=\"_blank\" href=\"\/(.*)\">(.*)\">(.*)<\/a>", $string);
上面的

代码不起作用。求救!

已更新

解决了这个任务:

$match1 = preg_replace("/<a href=\"\/(.*)\">(.*)<\/a>/i", "<a target=\"_blank\" href=\"http://nashmir.kz/$1\">$2</a>", $string);

1 个答案:

答案 0 :(得分:2)

preg_replace('/^<a\s+(href=")(\/news\/)/i', '<a target="_blank" $1http://mysite.kz$2')

经验法则:你只需要匹配必要的东西。除非极少数情况下,从不需要匹配整个输入。