如果其他属性包含某个字符串,我想修改属性的值。
my $dom = Mojo::DOM->new('<link href="http://google.com/feed/" rel="alternate">');
$dom->at('link[href*="google"]')->replace_content('http://www.yahoo.com/feed/');
print $dom;
因此,如果标记“&lt; LINK”在HREF属性中包含单词“google”,则应将HREF属性更改为yahoo。但输出是:
<link href="http://google.com/feed/" rel="alternate">http://www.yahoo.com/feed/</link>
但我希望它是:
<link href="http://www.yahoo.com/feed/" rel="alternate">
我意识到以上并不意味着工作(replace_content()修改内容,而不是属性),但它只是解释我想要的东西。
谢谢
答案 0 :(得分:2)
使用attr
方法,即
$dom->at('link[href*="google"]')->attr(href => 'http://www.yahoo.com/feed/');
它可以将属性设置为指定值。
p / s:The attrs
method has been deprecated (and eventually removed) in favor of attr
。