0

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

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

现在,当新用户向 php 文件发送注册表单时,我想查看用户名是否已被占用。所以我必须搜索所有用户名,如果有发送的用户名。但我不能这样做strstr()或类似的东西,因为前名(Vorname)或姓氏(Nachname)可以与用户名相同。或者用户名可以包含发送的用户名的一部分......

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

4

1 回答 1

1

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

首先,使用正则表达式来确保你选择了你想要的部分:

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

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

$items = explode('|', $line);
if ( strstr($items[2], 'DarkDecipio') ) {
    echo 'Match';
}
于 2012-12-21T22:47:40.820 回答