在文本文件中搜索字符串

时间:2012-12-21 22:44:26

标签: php text-files

我收到了一个user.txt文件。所有用户都以这种格式保存:

Vorname: Michael | Nachname : Schmidt | Username: DarkDecipio | Passwort: 3609e297fb0b6fb1105cba71d5c024b3
Vorname: John | Nachname : Doe | Username: Dummy | Passwort: d78c03d72e72b44a131d255aec3c8a11

现在,当新用户向php文件发送注册表单时,我想查看是否已经使用了用户名。 所以如果有用户名,我必须搜索所有用户名。但我不能用strstr()或类似的东西来做,因为Prename(Vorname)或Surname(Nachname)可以像用户名一样。或者用户名可以包含已发送用户名的一部分......

希望你能理解。
注意:我知道在文本文件中保存用户是一个丑陋的解决方案,但这是我学校的一个项目,我们必须使用文本文件......

1 个答案:

答案 0 :(得分:1)

在我的脑海中,我可以想到两个选择。假设$ line是文件中的当前行,您正在寻找'DarkDecipio':

首先,使用正则表达式确保您选择所需的部分:

if ( preg_match('/Username:\s*DarkDecipio/', $line) ) {
    echo 'Match';
}

其次,用|分割线条然后在每个数组的第三个项目上使用strstr:

$items = explode('|', $line);
if ( strstr($items[2], 'DarkDecipio') ) {
    echo 'Match';
}