我有一个 txt 文件,我需要使用 PHP 获取 email1@gmail.com 和 email2@gmail.com 我该怎么做?
我花了 2 天的时间寻找解决方案,但没有找到。
我尝试了这个但不起作用:
$filedata = file_get_contents("file.txt");
preg_match_all('~^Email:(.*)$~m', $filedata, $matches);
foreach ($matches[1] as $clave=>$result_email)
{
if ($stmt = $mysqli->prepare("SELECT name, email, pass FROM table_bd WHERE email=? ")) {
$stmt->bind_param('s', $result_email);
$stmt->execute(); // Execute the prepared query.
$stmt->store_result();
if ($stmt->num_rows ==1) {
// get variables from result.
$stmt->bind_result($name, $email, $pass);
$stmt->fetch();
}
}
echo $name.":".$pass."<br/>";
}
我有这个txt文件:
#name,email/username,password,description,unique name,email validation username
"lyndia.easda,geasdsadrs,,234342:4344,rocasda34,TasdadL,,01/01/1900,"""
Username:user1
Biography:
UserId:6333
Email:email1@gmail.com
PhoneNumber:+82234614
"Original number::325 /5ersion/6.0 Mobile/10B350 Safari/8536.25"""
"asdasd.985,asd34e3,,456465:6573,rocsdad7,023sa,,01/01/1900,"""
Username:user2
Biography:
UserId:392347703
Email:email2@gmail.com
PhoneNumber:+823werrs
最佳答案
strpos()
返回FALSE
或0
。它是不同的:FALSE
如果没有找到,0
位于索引 0。
您必须使用strict equality检查它是否为假或0:
if (strpos($line, $word) !== false)
将输出:
Word find: Email: 8
Word find: Email: 19
<小时/>
另一种获取电子邮件的方式:
$filedata = file_get_contents("file.txt");
preg_match_all('~^Email:(.*)$~m', $filedata, $matches);
print_r($matches[1]);
输出:
Array
(
[0] => example1@gmail.com
[1] => example2@gmail.com
)
关于javascript - 使用 PHP 在 txt 文件中搜索单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49222409/