preg_match في preg_match_all.
-
13-09-2019 - |
سؤال
$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"، ولكن لا تظهر مباراة $ 11. كيف نفعل تطابق $ 11 لإظهار؟ يعود:
إشعار: غير محدد تعويض: 1 في C: xampp htdocs page.ph.php على السطر 75 found0: إشعار: غير محدد إزاحة: 1 في C: xampp htdocs copy page.php على السطر 75 found1: إشعار: غير محدد إزاحة : 1 في C: xampp htdocs copy page.php on line 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;
}
لا تنتمي إلى StackOverflow