Php 将ID和文件名与preg_Match_all匹配

Php 将ID和文件名与preg_Match_all匹配,php,preg-match-all,Php,Preg Match All,我正在尝试将条目ID和文件名与preg_match_all匹配,但无法获得第二个 我只想获得8F_mU7gcLkLVGN2Rpb3FyX10JVEZ和文件名.txt; $str='<div class="flip-entry" id="entry-8F_mU7gcLkLVGN2Rpb3FyX10JVEZ" tabindex="0" aria-label="Name: File_Name.txt. Drücken Sie zum Öffnen die Eingabetaste.">

我正在尝试将条目ID和文件名与preg_match_all匹配,但无法获得第二个

我只想获得
8F_mU7gcLkLVGN2Rpb3FyX10JVEZ
文件名.txt
$str='<div class="flip-entry" id="entry-8F_mU7gcLkLVGN2Rpb3FyX10JVEZ" tabindex="0" aria-label="Name:   File_Name.txt. Drücken Sie zum Öffnen die Eingabetaste.">';
$preg = '/(entry-(.*)\")(\w+\.\w{2,4})/';
preg_match_all($preg, $str);
$preg='/(条目-(.*)\”(\w+\.\w{2,4})/'; preg_match_all($preg,$str); 我认为这应该可以…

这适用于当前场景…但不是一个理想的解决方案。。。。
感谢Shankar Damodaran,我将代码修改为:

function parseHTML($url) {
    $page = getPage($url);
    $dom = new DOMDocument;
    $dom->loadHTML($page);
    $i = 0;
    foreach($dom->getElementsByTagName('div') as $tag) {
        $entryid = $tag->getAttribute('id');
        if(stripos($entryid, 'entry') !== false) {
            $items[$i]['id'] = explode('-',$entryid)[1];
            $filename = $tag->getAttribute('aria-label');
            $items[$i]['name'] = cut_str($filename, 'Name: ', '. ');
            $i++;
        }
    }
    return $items;
}

到目前为止您尝试了什么?可以描述您的代码,如何匹配它?我尝试使用(*)在这两种情况下都适用于条目ID,但对于文件名不适用。我需要使用相同的preg\u match\u all来获取条目ID,我如何将其包含在该正则表达式中?您已经提到,在哪里可以成功获取ID而不是文件名??
8F_mU7gcLkLVGN2Rpb3FyX10JVEZ
File_Name.txt
function parseHTML($url) {
    $page = getPage($url);
    $dom = new DOMDocument;
    $dom->loadHTML($page);
    $i = 0;
    foreach($dom->getElementsByTagName('div') as $tag) {
        $entryid = $tag->getAttribute('id');
        if(stripos($entryid, 'entry') !== false) {
            $items[$i]['id'] = explode('-',$entryid)[1];
            $filename = $tag->getAttribute('aria-label');
            $items[$i]['name'] = cut_str($filename, 'Name: ', '. ');
            $i++;
        }
    }
    return $items;
}