0

以下に示すように、body タグの内容を保持する配列があるとします。 print Dumper(\@array);

$VAR1 = 

[

<body>

<table width=\'100%\' height=\'100%\'>

<tr>

<td width=\'100%\' height=\'100%\'

valign=\'top\'><div style=\'height:100%\' hrefmode=\'ajax-html\' id=\'a_tabbar\' 

width=\'100%\'  imgpath=\'../images/datagrid/\' skinColors=\'#FCFBFC,#F4F3EE\'/>

</td>

</tr>

</table>

<script>

tabbar=newdhtmlXTabBar(\'a_tabbar\',\'top\');
tabbar.setImagePath(\'../images/datagrid/\');
tabbar.setSkinColors(\'#FCFBFC\',\'#F4F3EE\');
tabbar.setHrefMode(\'ajax-html\');

</script>

<script>
tabbar.addTab(\'866346569493123700\',\'Details \',\'242px\'); 
tabbar.setContentHref(\'866346569493123700\',\'../reports/dhtmlgridqueryhandler.jsp?id=866346569493123700&oracleDb=read&htmlDataId=&Type=generic&queryCode=GetDetails\');
tabbar.setTabActive(\'866346569493123700\');

</script>

</body>
]

@array の内容から「div」タグの ID を取得したいとしましょう。

私はそれを次のように行います:

$tree=HTML::TreeBuilder->new_from_content(@array);
$first_match = $tree->find_by_attribute('hrefmode' => 'ajax-html');
$id = $first_match->attr('id');

これは、属性に単一の値がある場合にうまく機能します。しかし、@array の script タグから 866346569493123700 を取得するにはどうすればよいでしょうか?

私は何時間もこれを手に入れようとしてきたので、これに関する助けは大歓迎です

4

1 に答える 1