|
|
发表于 2017-12-4 00:39:19
|
显示全部楼层
本帖最后由 bjzhush 于 2017-12-4 00:45 编辑
2 ]% M1 y, q: y& b$ W( _5 C2 c4 s1 f7 G' l
花了几分钟帮你写了下
7 i# Z1 Q' M5 P! Z1 y9 l3 q0 O$ H例如源文件为这个txt& ?- j: a7 y* [
➜ ~ cat x.txt
! e9 U2 U! O2 o0 X8 F5 X1 uhitest
( ^. b7 [2 H7 B) P* c* z* c E7 [[email protected]
9 c5 ]; b) u& i0 R% Ihi [email protected] test7 U: b' n0 l- C8 Y0 y6 z- D- {5 D
[email protected] [email protected]
' V7 Y) R" {0 Y- \5 F执行后,得到result.txt* H( A1 }/ {/ G5 W/ E/ \$ a
➜ ~ cat result.txt
1 C( N' e+ o3 S% H[email protected]. e: g- g; p& h
[email protected]
0 v. s# b& I3 v N1 a5 T6 q# w[email protected]
! ~6 \! y2 @2 d1 V* Y; A# k[email protected]3 a+ s8 \/ i% a: F
9 Z5 J7 |+ C+ u: n( ?4 ` `+ {6 d
代码如下:
% ^1 Z2 a y' p3 M* J/ U- <?php
6 L6 d" D; j) R! P. k2 ^- R6 c - $file = 'x.txt';0 G) D( W) I# z
- $fp = fopen($file, 'r');& G: N O1 E, E+ N9 R$ T5 v$ Z, C, c: W
- if (!$fp) {+ y: Y) n, A4 n5 [- E- B- a) J
- exit('failed to open'.$file);
B& }& M( n+ e9 s# A6 G - }
& o* p8 F- j+ N1 Q! m: O& k- T - $lineNumber = 0;* b9 }: c$ y& s& X
- while($line = fgets($fp)) {. B, h( y* H4 p8 p1 N
- $lineNumber++;
* Q7 ^# T. _4 i E; ?) Y7 t- f - $pattern = '/[a-z0-9_\-\+]+@[a-z0-9\-]+\.([a-z]{2,4})(?:\.[a-z]{2})?/i';' Y+ S7 `" f. ~/ p ^; L9 C
- preg_match_all($pattern, $line, $matches);; n5 h5 F/ a2 O8 N2 l0 A7 {" g
- if (!empty($matches[0])) { i; h$ J# M% C2 n% U6 R
- foreach ($matches[0] as $mail) {
. d' k8 `6 _3 m6 D, H/ S - echo $mail.' found from line '.$lineNumber.PHP_EOL;
# j* s# J p9 { - file_put_contents('result.txt', $mail.PHP_EOL, FILE_APPEND);$ G. X, Z5 l$ v3 v2 A
- }
! i* N# M4 K# A - }
! T J: y( U5 y+ ?; w ]3 e - }
& b" c p {2 w5 w# {# b - echo "All Done";
) W5 p& f6 |: ~8 t
复制代码 功能:支持提取一行多个email地址,结果全部保存到result.txt ,没有做去重
; m \9 m2 p! E* `5 @6 C. ~使用:代码里面的源文件是x.txt ,可以换成你自己的文件名,php保存为getMail.php 然后 php getMail.php 结果保存在result.txt里面 |
评分
-
查看全部评分
|