http://lwp.interglacial.com/

2011/1/17 cnhack TNT <[email protected]>

>
> use Data::Dumper;
>
> $s = q/<button type="button" style = "
> border:none;background:url(button_bk.png); width:150px; height:49px; ">/;
>
> ($c) = $s =~ /<([^<>]+?=[^<>]+?)>/;
>
> $bth{$1} = $2 while $c =~ /\s([\w-]+)\s*=\s*"([^""]+?)"/g;
>
> print Dumper \%bth;
>
>
> 正则就是这么个解法,当然你可能需要根据你的具体要求做些调整。
> 另外 cpan 上帮助解析 HTML 的模块很多阿:
>
> HTML::Parser
> HTML::TreeBuilder
> HTML::TreeBuilder::LibXML
>
> 等等...
>
> 2011/1/17 Qiang (James) <[email protected]>
>
> On 01/17/2011 12:59 PM, Kermit Mei wrote:
>> > 求助一个问题:
>> > 解析一些html文件,需要把每个元素的属性分别读取到一个hash中,并且把属性原
>> > 来的引号去掉,例如:
>> >
>> ......
>> >
>> > 我现在用的办法比较繁琐,用了多次正则表达式和s///g替换,而且使用了空格作
>> > 为分隔属性的标志,在处理style时是存在错误的。
>> > 不知道有没有什么技巧,可以比较优雅地解决这个问题?
>> >
>>
>> 你可以用 Web::Scraper 能更有效的分析 html.
>>
>> >
>> > Thanks
>> > --
>> > B.R
>> > Kermit
>> >
>>
>> Qiang
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 [email protected]。
>> 要取消订阅此网上论坛,请发送电子邮件至 
>> [email protected]<perlchina%[email protected]>
>> 。
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>
>>
>  --
> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
> 要向此网上论坛发帖,请发送电子邮件至 [email protected]。
> 要取消订阅此网上论坛,请发送电子邮件至 
> [email protected]<perlchina%[email protected]>
> 。
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

-- 
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 [email protected]。
要取消订阅此网上论坛,请发送电子邮件至 [email protected]。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

回复