|
|
发表于 2017-12-4 00:39:19
|
显示全部楼层
本帖最后由 bjzhush 于 2017-12-4 00:45 编辑 3 }; {, G! k' ]9 O
+ T) T& l- W6 t3 b花了几分钟帮你写了下 4 H" r! |( F2 G. ^3 s
例如源文件为这个txt
5 N. y2 o! i- {) v➜ ~ cat x.txt3 B0 U: W7 R1 b8 N0 c
hitest, Z" [, B- T1 I6 |2 e; |
[email protected]
; j$ a# `( ~" h" p' H& y6 Nhi [email protected] test! ?: P- l( \0 C$ s, T& d
[email protected] [email protected]
* A/ Y4 [" q3 Z. d: H2 D1 w8 V执行后,得到result.txt
- F3 M2 ]2 B7 A' z➜ ~ cat result.txt
% r$ K, E. w5 n6 x6 N/ H& [[email protected]
3 ?( v( ?8 \3 l" Z, v* J[email protected]6 z! l( B$ b9 u6 }/ O/ R4 s
[email protected]0 s R3 m% C- `. v M, n. s' o! f7 s
[email protected]
/ u( G6 d1 y" i' ?9 ]6 b# y4 z, D3 J2 v; `! C, S8 V0 v
代码如下:- z. h$ }, Y- u2 \4 {# ]0 e: m
- <?php
4 }2 |4 }* V7 r' N- @ - $file = 'x.txt';
2 N1 D9 [1 R. n. y3 D" P - $fp = fopen($file, 'r');
' I3 B: v2 g- q8 R" {6 _! g' \9 ~" g - if (!$fp) {
. R' W% {) V6 Z K: n: q - exit('failed to open'.$file); a+ b9 O# m( ?6 |# d7 k* o" N+ B
- }
; J* u* O6 P9 D' } - $lineNumber = 0;
1 W1 O$ Z; q4 |5 y - while($line = fgets($fp)) {
; G1 P: t6 i& X8 H# j - $lineNumber++;
" E0 K3 k( p7 q- q3 A% a, E, G - $pattern = '/[a-z0-9_\-\+]+@[a-z0-9\-]+\.([a-z]{2,4})(?:\.[a-z]{2})?/i';+ E0 E4 v, l/ t5 P8 ?2 A U) v2 V
- preg_match_all($pattern, $line, $matches);
; r+ X9 E) G! }6 r( L/ h - if (!empty($matches[0])) {9 p1 B: c% J' n- Z- M9 }" R
- foreach ($matches[0] as $mail) {+ I7 L% y3 Q4 Z8 Z& G. V; |
- echo $mail.' found from line '.$lineNumber.PHP_EOL;7 v2 J/ @0 h) k. @, q3 W9 B& a3 ~
- file_put_contents('result.txt', $mail.PHP_EOL, FILE_APPEND);3 V" q- x. R/ q+ L& l' w8 l
- }. L. `: F: p: P5 Y. n+ u8 ~% l
- }0 u. T' {+ G) m, o
- }
; C$ q9 h& R `& Q3 o+ a1 C% [ - echo "All Done";
% H1 h" e3 Z- u' [
复制代码 功能:支持提取一行多个email地址,结果全部保存到result.txt ,没有做去重
W4 C) j# F! a使用:代码里面的源文件是x.txt ,可以换成你自己的文件名,php保存为getMail.php 然后 php getMail.php 结果保存在result.txt里面 |
评分
-
查看全部评分
|