首先非常抱歉本人昨天发的帖子描述不够完整,而且本人天生笨蛋,所以再发帖请教一下正则的问题,请包涵。下面是文本:
PROPERTY[DOMAINCHECK][0]=211 Domain name not available
PROPERTY[DOMAINCHECK][1]=210 Domain name available
...
PROPERTY[DOMAINCHECK][n]=*** Domain name ...
如何取出PROPERTY[DOMAINCHECK][0]和PROPERTY[DOMAINCHECK][1]后面=的三位数字值?注意,是后面的三位数字
如果附上讲解,更佳……
PROPERTY[DOMAINCHECK][0]=211 Domain name not available
PROPERTY[DOMAINCHECK][1]=210 Domain name available
...
PROPERTY[DOMAINCHECK][n]=*** Domain name ...
如何取出PROPERTY[DOMAINCHECK][0]和PROPERTY[DOMAINCHECK][1]后面=的三位数字值?注意,是后面的三位数字
如果附上讲解,更佳……
while($buf = fgets($fp)) {
$ar[] = sscanf($buf, "PROPERTY[DOMAINCHECK][%d]=%d");
}
print_r($ar); //输出结果
<?php
$str = "PROPERTY[DOMAINCHECK][0]=211 Domain name not available ";
$split_arr = explode("=",$str);
$split_arr = explode(" ",$split_arr[1]);
echo $split_arr[0];//211
?>
$str="PROPERTY[DOMAINCHECK][0]=211 Domain name not available
PROPERTY[DOMAINCHECK][1]=210 Domain name available";
preg_match_all('/PROPERTY\[DOMAINCHECK\]\[.*\]=(.*?\d{3}) Domain name/i',$str,$out);
print_r($out);
?>正则说明:
\d{3} 代表3位数字,如果要任意那么请把{3}去掉
测试通过请给分
while($buf = fgets($fp)) {
preg_match_all('/PROPERTY\[DOMAINCHECK\]\[[0|1]\]=(.*?\d{3}) Domain name/i',$str,$out);
$a[]=$out[1];
}
print_r($a);
PROPERTY[DOMAINCHECK][0]=211 Domain name not available
PROPERTY[DOMAINCHECK][1]=210 Domain name available
...
PROPERTY[DOMAINCHECK][n]=*** Domain name ...
TEXT;preg_match_all('/PROPERTY\[DOMAINCHECK\]\[[01]\]=(\d{3})/', $txt, $reg);print_r($reg[1]);
<?php
$str = '
PROPERTY[DOMAINCHECK][0]=211 Domain name not available
PROPERTY[DOMAINCHECK][1]=210 Domain name available
';
preg_match_all('/(?<==)\d{3}/',$str,$arr);
print_r($arr[0]);
?>