Ben bu yanlış gidiyor neden düzenli ifadesi uzmanı söyleyebilir umuyorum:
Bu regex:
$pattern = '/(?<percent>[0-9]{1,3}\.[0-9]{1,2})% of (?<filesize>.+) at/';
String bu tür uymalıdır:
[download] 87.1% of 4.40M at 107.90k/s ETA 00:05
[download] 89.0% of 4.40M at 107.88k/s ETA 00:04
[download] 91.4% of 4.40M at 106.09k/s ETA 00:03
[download] 92.9% of 4.40M at 105.55k/s ETA 00:03
Düzeltin? Bu yukarıdaki girişi ile maç almazsınız regex ile yanlış bir şey var mı? Burada tam kullanımı:
while(!feof($handle))
{
$progress = fread($handle, 8192);
$pattern = '/(?<percent>[0-9]{1,3}\.[0-9]{1,2})% of (?<filesize>.+) at/';
if(preg_match_all($pattern, $progress, $matches)){
//matched
}
}
fread düzgün çalışması için regex etkileyen olması ile ne kadar okunan olabilir mi?
Ben yeni bir sunucu üzerinde neden çalışmadığını belirlemek için çalışıyorum ben gerçekten teyit etmesi gerekiyor. Bu soru, Change in Server Permits script not to work. Can this be due to PHP.ini being different? ile ilgilidir
Tüm teşekkürler
Update 2
Ben regex test etmek için bir test komut dosyası yaptık ama kendi kendine bile çalışmıyor?
<?php
error_reporting(E_ALL);
echo 'Start';
$progress = "[download]75.1% of 4.40M at 115.10k/s ETA 00:09 [download] 77.2% of 4.40M at 112.36k/s ETA 00:09 [download] 78.6% of 4.40M at 111.41k/s ETA 00:08 [download] 80.3% of 4.40M at 110.80k/s ETA 00:07 [download] 82.3% of 4.40M at 110.30k/s ETA 00:07 [download] 84.3% of 4.40M at 108.33k/s ETA 00:06 [download] 85.7% of 4.40M at 107.62k/s ETA 00:05 [download] 87.5% of 4.40M at 107.21k/s ETA 00:05 [download] 89.5% of 4.40M at 105.10k/s ETA 00:04 [download] 90.7% of 4.40M at 106.45k/s ETA 00:03 [download] 93.2% of 4.40M at 104.92k/s ETA 00:02 [download] 94.8% of 4.40M at 104.40k/s ETA 00:02 [download] 96.5% of 4.40M at 102.47k/s ETA 00:01 [download] 97.7% of 4.40M at 103.48k/s ETA 00:01 [download] 100.0% of 4.40M at 103.15k/s ETA 00:00 [download] 100.0% of 4.40M at 103.16k/s ETA 00:00
";
$pattern = '/(?<percent>\d{1,3}\.\d{1,2})%\s+of\s+(?<filesize>[\d.]+[kBM]) at/';
if(preg_match_all($pattern, $progress, $matches)){
echo 'match';
}
echo '<br>Done<br>';
?>