我收到了一个user.txt文件。所有用户都以这种格式保存:
Vorname: Michael | Nachname : Schmidt | Username: DarkDecipio | Passwort: 3609e297fb0b6fb1105cba71d5c024b3
Vorname: John | Nachname : Doe | Username: Dummy | Passwort: d78c03d72e72b44a131d255aec3c8a11
现在,当新用户向php文件发送注册表单时,我想查看是否已经使用了用户名。
所以如果有用户名,我必须搜索所有用户名。但我不能用strstr()
或类似的东西来做,因为Prename(Vorname)或Surname(Nachname)可以像用户名一样。或者用户名可以包含已发送用户名的一部分......
希望你能理解。
注意:我知道在文本文件中保存用户是一个丑陋的解决方案,但这是我学校的一个项目,我们必须使用文本文件......
答案 0 :(得分:1)
在我的脑海中,我可以想到两个选择。假设$ line是文件中的当前行,您正在寻找'DarkDecipio':
首先,使用正则表达式确保您选择所需的部分:
if ( preg_match('/Username:\s*DarkDecipio/', $line) ) {
echo 'Match';
}
其次,用|分割线条然后在每个数组的第三个项目上使用strstr:
$items = explode('|', $line);
if ( strstr($items[2], 'DarkDecipio') ) {
echo 'Match';
}