문제

$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를 표시하려면 어떻게합니까? 반품:

통지 : 정의되지 않은 오프셋 : 1 In C : XAMPP Htdocs Page.php On 75 Found0 : NIST : 1 In C : XAMPP htdocs Copy Page.php Line 75 Found1 : 정의되지 않은 오프셋 : 1 In C : xampp htdocs copy page.php on 75 found2 :

내 영어가 완벽하지 않다면 죄송합니다. 저는 원주민이 아닙니다. :) 도와 주셔서 감사합니다.

도움이 되었습니까?

해결책

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;
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top