[英]PHP File Handling hw
$handle = fopen("mytext.txt", "r");
echo fread($handle,filesize("mytext.txt"));
echo preg_match("/[0-9]/","",$handle);
fclose($handle);
我想打开一个文本文件,查找文本中有多少位数。 我尝试使用preg_match
但我认为这不是正确的方法。
preg_match()接受Handle资源。 哪个不正确:
$handle = fopen("mytext.txt", "r");
$content = fread($handle,filesize("mytext.txt"));
$noDigit = preg_match("/[0-9]/","",$content);
fclose($handle);
您应该使用preg_match_all() 。 preg_match()仅匹配第一个结果。
另外,您的正则表达式正在寻找一个数字值。 您应该使用\\d+
来匹配一个或多个数字的所有实例(即匹配1、20和3580243)。
$subject = "String with numbers 4 8 15 16 23 42";
$matches = array();
preg_match_all('\d+', $subject, $matches);
然后,要对它们进行计数,您可以循环遍历$ matches中的匹配项并增加一个计数器变量。
编辑:此外,您可能会使用file_get_contents()获得更好的结果,而不是使用fopen,fread,fclose。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.