XPath PHP:获取属性值开头

时间:2018-08-30 18:55:55

标签: php xpath

我想在html页面中提取所有以 ctl00 $ ctl00 $ mainContent $ bodyContent $ chkRitira _ 开头的属性名称,并检查输入标记是否已选中。例如,我有这段html代码:

                 <tr>
                    <td operazione="ritira"><input id="ctl00_ctl00_mainContent_bodyContent_chkRitira_852428" type="checkbox" name="ctl00$ctl00$mainContent$bodyContent$chkRitira_852428" /><label for="ctl00_ctl00_mainContent_bodyContent_chkRitira_852428">Ritira</label></td>
                    </tr>                   
                <tr>
                    <td operazione="ritira"><input id="ctl00_ctl00_mainContent_bodyContent_chkRitira_852429" type="checkbox" name="ctl00$ctl00$mainContent$bodyContent$chkRitira_852429" /><label for="ctl00_ctl00_mainContent_bodyContent_chkRitira_852429"> Ritira</label></td>
                   </tr>

我要检查是否已检查以 ctl00 $ ctl00 $ mainContent $ bodyContent $ chkRitira _ 开头的每个输入检查以及属性名称,然后:

ctl00$ctl00$mainContent$bodyContent$chkRitira_852428
ctl00$ctl00$mainContent$bodyContent$chkRitira_852429

我尝试过:

 $xpR=new DOMXPath( $dom_richieste_r );
 $colR = $xpR->query( '//input[@name="ctl00$ctl00$mainContent$bodyContent$chkRitira_"]' ); 

但这会把节点的内容还给我。

2 个答案:

答案 0 :(得分:1)

//input[contains(@name,'ctl00$ctl00$mainContent$bodyContent$chkRitira_')]

答案 1 :(得分:1)

有一个starts-with可以通过以下方式实现

//input[starts-with(@id, "ctl00$ctl00$mainContent$bodyContent$chkRitira_")]/@name