PHP - Как проверить, являются ли первые 4 значения строки в строке числовыми

извините, если это простой вопрос, я только что перешел в веб-разработку с должности младшего системного администратора, поэтому я все еще довольно новичок.

В качестве моего первого проекта я создаю веб-приложение на php, которое будет загружать файл учета (обычный текст), анализировать его построчно, удалять лишнее, а затем отображать его.

У меня уже завершена часть загрузки и отображения (используя fopen и fgets для возврата построчно).

Теперь я хотел бы знать, как я могу заставить php отображать только строки, начинающиеся с 4 цифр (причина этого в том, что на каждой новой странице есть заголовки и заголовки, это многостраничный документ и номера счетов диапазон от 4 до 8 номеров).

Буду ли я использовать substr() или mb_substr(), чтобы указать проверку первых 4 символов каждой новой строки, которую выводит fgets(), а затем использовать is_numeric(), чтобы проверить, являются ли они числами?

PS: Извините, если моя терминология немного не так. У меня есть степень в области финансов, и я сам научился программировать, совершенно другой мир, лол.


person xGrave01    schedule 22.12.2013    source источник
comment
Вы можете использовать stream_get_line вместо fgets для больших файлов.   -  person Nouphal.M    schedule 22.12.2013


Ответы (1)


Я полагаю, вы имеете в виду, что 4 первых символа - это цифры. Возможно, вы захотите использовать для этого регулярные выражения:

if (preg_match('/^\d{4}.*/', $yourSingleLineString))
{
    //it is starting by 4 digits so do what you need to
}

preg_match проверяет, соответствует ли ваша строка указанному шаблону. Шаблон на самом деле говорит: начиная с начала строки (^) цифра (\d) повторяется 4 раза ({4}), а затем идут любые символы (.) ноль или более раз (*).

person MaGnetas    schedule 22.12.2013