2009-08-13 38 views
1
$match_expression = '/<a href="look.php\?id=(.*)" title="Look page: (.*)">(.*)<\/A>/'; 
    $radompgr = preg_match_all($match_expression,$q2,$match, PREG_SET_ORDER); 
    if($radompgr == TRUE){echo "found $radompgr<br>";}else{echo "not found $radompgr<br>";} //found 
for ($i = 0; $i < count($match); $i++) { 
    $mathcas = $match[$i][1]; 
    $radom = preg_match('/[0-9a-z]{39,41}/',$mathcas,$matches2); 
    if($radom == TRUE){ 
    $match11 = $matches2[1]; 
    echo "found".$i.": ".$match11."";}else{echo"".$i."not found :(<br>";} 
} // "found0", but don`t show $match11 variable. 

顯示「found0」,但不顯示$ match11。如何做$匹配11顯示? 回程:preg_match_all中的preg_match

注意:未定義偏移:1 C:\ XAMPP \ htdocs中\ page.php文件上線75個 found0:用C 1: 注意:未定義偏移\ XAMPP \ htdocs中\拷貝\頁用C 1:.PHP上線75 ,招致: 注意:未定義抵消\ XAMPP \ htdocs中\複製\上線page.php文件75個 found2:

很抱歉,如果我的英文不是很好,我我不是一個本地人。 :) 謝謝你的幫助。

+0

什麼是* *問題? – chaos 2009-08-13 11:51:14

+0

很難回答,沒有適當的問題和難看的代碼格式。 – 2009-08-13 11:52:17

回答

3

你忘了封閉()中的preg_match():

$match_expression = '/<a href="look.php\?id=(.*)" title="Look page: (.*)">(.*)<\/A>/'; 
$radompgr = preg_match_all($match_expression, $q2, $match, PREG_SET_ORDER); 

if ($radompgr >= 1) 
{ 
    echo 'found ' . $radompgr; 

    for ($i = 0; $i < count($match); $i++) 
    { 
     $mathcas = $match[$i][1]; 

     $radom = preg_match('/([0-9a-z]{39,41})/', $mathcas, $matches2); 

     if ($radom >= 1) 
     { 
      $na = $matches2[1]; 

      echo 'found' . $i . ': ' . $na; 
     } 

     else 
     { 
      echo $i . 'not found'; 
     } 
    } 
} 

else 
{ 
    echo 'not found ' . $radompgr; 
}