сторона сервера — PHP Обработка файлов hw

$handle = fopen("mytext.txt", "r");

echo fread($handle,filesize("mytext.txt"));
echo preg_match("/[0-9]/","",$handle);

fclose($handle);

Я хочу открыть текстовый файл и узнать, сколько цифр в тексте. Я пытался использовать preg_match но я думаю, что это не правильный способ сделать это.

0

Решение

preg_match () принимает дескриптор для ресурсов. Что неверно:

$handle = fopen("mytext.txt", "r");

$content = fread($handle,filesize("mytext.txt"));
$noDigit = preg_match("/[0-9]/","",$content);

fclose($handle);
0

Другие решения

Вы должны использовать 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);

Затем, чтобы подсчитать их, вы можете просто просмотреть соответствия в $ match и увеличить переменную счетчика.

РЕДАКТИРОВАТЬ: Кроме того, вы, вероятно, получите лучшие результаты с file_get_contents () вместо использования fopen, fread, fclose.

0

По вопросам рекламы [email protected]