Chinaunix

标题: 如何修改html内的图片网址? [打印本页]

作者: freeand    时间: 2007-12-31 15:07
标题: 如何修改html内的图片网址?
<img src="/k/200701.JPG">
<img alt="" src="/a/200703.JPG">
<img alt="" src=/c/200703.JPG>
<img src=/c/200703.JPG alt="">
<img width="100" src=/c/200703.JPG alt="">
...
...
以上代码只是例子,src的位置没有规则。
例如统一在地址前添加 /2007 ,变成 "/2007/k/200701.JPG" 等。。。

不能用正则,要求使用HTML::Parser或HTML::TreeBuilder。


use HTML::Parser;
my $parser = HTML::Parser->new( api_version => 3, start_h => [\&start, "self, tagname, attr, text"], ignore_elements => [qw(script style)],);
$parser->parse($html);
sub start {
    my ($self, $tag, $attr, $text) = @_;
    if ($tag eq 'img') {
        print "$attr->{src}\n";
    }
}

这样可以准确提取图片地址,但怎么修改?

[[i] 本帖最后由 freeand 于 2007-12-31 15:10 编辑 [/i]]
作者: Nosferatu    时间: 2007-12-31 17:32
修改要用到HTML::Manipulator之类的吧,
所谓parser当然是没有修改功能的
作者: freeand    时间: 2007-12-31 18:31
谢谢!
不过它好像是按id的名字去替换的啊




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2