PHP - 如何检查一行中字符串的前4个值是否为数字

时间:2013-12-22 06:10:04

标签: php substring fgets isnumeric

抱歉,如果这是一个简单的问题,我刚刚从一个Jr. Systems Admin进入web dev,所以我还是很新。

作为我的第一个项目,我正在构建一个php web应用程序,它将上传一个会计文件(纯文本),逐行解析,删除多余的东西,然后显示它。

我已经完成了上传和显示部分(使用fopen和fgets逐行返回)。

现在我想知道的是我如何让php只回显以4个数字开头的行(原因是每个新页面都有标题和标题,它是一个多页文档,以及帐号范围从4个数字到8个数字。)

我会使用substr()或mb_substr()来指定fgets()输出的每个新行的前4个字符的检查,然后使用is_numeric()来检查它们是否是数字?

PS:对不起,如果我的术语有点偏。我有金融学位,自己编写自己的编码,完全不同的世界大声笑。

1 个答案:

答案 0 :(得分:0)

我相信你的意思是4个第一个字符是数字。您可能希望使用正则表达式:

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

preg_match检查您的字符串是否与给定的模式匹配。该模式实际上说: 从行的开头(^)开始,数字(\ d)重复4次({4}),然后有任何字符(。)零次或多次(*)。