|
|
发表于 2017-12-4 00:39:19
|
显示全部楼层
本帖最后由 bjzhush 于 2017-12-4 00:45 编辑
& t5 @) b8 X& O; o m- t
# }$ q5 _: E6 Q2 I, r( ?( g花了几分钟帮你写了下
: ^% x: k* d' t6 i% k/ O# g例如源文件为这个txt
: B) ^% x8 ^+ Z1 _5 x8 d➜ ~ cat x.txt* A5 h2 W& P( j2 G) [% A) S) y
hitest8 @: b) L0 B1 D C- L3 z
[email protected]
A% Q n. d, z/ {2 i/ V/ D# v$ Phi [email protected] test) O- z2 c; w' i9 U. n U' W+ q
[email protected] [email protected]
1 X8 Z, u* t) n) k( \执行后,得到result.txt y& ^( ?# x6 H: b) N
➜ ~ cat result.txt - R% ~% Q2 w/ w1 q9 y
[email protected]: D% q- I$ \+ |9 t% ~
[email protected]
! \# t$ d8 t( x- V( V; M[email protected]5 b9 w' {( w4 d! G7 k7 e! H/ G
[email protected]
9 F5 k, i. o+ Q5 K" I5 ?+ j3 E) w; D* C2 e! ^; L; w
代码如下:6 I. G3 {5 |, y2 Q! P0 s) Y
- <?php
% I4 m0 M. V6 A2 I( ^* p5 R1 P - $file = 'x.txt';
& v5 @6 r& N( N$ w5 ~ - $fp = fopen($file, 'r');
& f" l, z$ W; [( u. h( D - if (!$fp) {8 S- j, ~) j; m/ k( \" C
- exit('failed to open'.$file);2 C* x# T+ ^$ c( w2 {
- }
a2 U# u& V& x s0 ^0 V- c8 T& W - $lineNumber = 0;
0 |/ E1 b V9 w: Q5 ?% L2 @ - while($line = fgets($fp)) {
) v" r$ g4 h% { - $lineNumber++;3 u# p: U, ]% B( S9 q" K j# n
- $pattern = '/[a-z0-9_\-\+]+@[a-z0-9\-]+\.([a-z]{2,4})(?:\.[a-z]{2})?/i';
, D0 _- ?( }5 W$ U- }9 ? - preg_match_all($pattern, $line, $matches);
" ?/ |, w( ?- W! t9 V2 R - if (!empty($matches[0])) {
! V/ V( J6 r* t2 W4 }, t, R3 } - foreach ($matches[0] as $mail) {
8 z5 C$ h+ I4 i% O. ~) I - echo $mail.' found from line '.$lineNumber.PHP_EOL;
1 R6 p5 O. c6 i - file_put_contents('result.txt', $mail.PHP_EOL, FILE_APPEND);8 E# }0 r. w2 s7 w: r! n3 y
- }: b! {; @& ?: ^8 K* `
- }. }( ]% U- K3 ^( k, q) `& E$ [
- }2 ` D3 Y9 A8 E; i5 n# I
- echo "All Done";
) g- t8 ^/ l6 o p1 i u, _2 ?( ^
复制代码 功能:支持提取一行多个email地址,结果全部保存到result.txt ,没有做去重
, Z( U2 Y9 X& x2 v0 r使用:代码里面的源文件是x.txt ,可以换成你自己的文件名,php保存为getMail.php 然后 php getMail.php 结果保存在result.txt里面 |
评分
-
查看全部评分
|