|
|
发表于 2017-12-4 00:39:19
|
显示全部楼层
本帖最后由 bjzhush 于 2017-12-4 00:45 编辑 " D: w3 U- L* K
Y- W- U1 j$ s2 K, Z5 b
花了几分钟帮你写了下
# M! l3 b& r% J2 C9 U/ v例如源文件为这个txt
2 M6 ]# h+ j4 g' f➜ ~ cat x.txt7 S1 X; z, q3 Q3 M) m- R% {/ U* S, f
hitest
) I7 L# C7 I2 r) E* ~# N( k5 J$ h[email protected]
. ^, i K! \) a6 Z v" thi [email protected] test
/ V. v, q5 t. L8 A3 @1 s, m[email protected] [email protected]
6 m; G6 K ^, b$ p执行后,得到result.txt2 [: |2 W! W9 t0 M( A* r6 R
➜ ~ cat result.txt ; h$ f$ L4 L: t4 k
[email protected]
* w/ v; Z6 W8 l# t[email protected]2 r8 \3 S( ? H) f8 [3 p2 v/ X
[email protected]% R$ t, n8 a1 X
[email protected]* W( c! O7 e! h- |- T! u4 ?
7 Q3 B- e% `8 [代码如下:
# l, v0 t) n, B) s/ f- <?php" x: T, a# y; t# Q2 }5 J" r7 R
- $file = 'x.txt';& P1 j/ L N2 f7 R
- $fp = fopen($file, 'r');
2 W- D2 J) D* k1 l+ q - if (!$fp) {
4 N5 J: P; b, E- {# u( M - exit('failed to open'.$file);
: U: D! j+ B8 Z3 V& h9 m - }! E2 F: B3 [% E( \7 ^0 a3 U& i
- $lineNumber = 0;
' P, W, b7 }6 e! N - while($line = fgets($fp)) {
* _( Q t- ?) l( Y - $lineNumber++;
9 S: t0 N. _' ~# y# `' e# N; A - $pattern = '/[a-z0-9_\-\+]+@[a-z0-9\-]+\.([a-z]{2,4})(?:\.[a-z]{2})?/i';
: R5 _" F8 G; _ - preg_match_all($pattern, $line, $matches);
$ |$ H' q, m; U) U5 i - if (!empty($matches[0])) {2 H! ?# G% P# N( _# o
- foreach ($matches[0] as $mail) {1 l$ E( z& L( C9 {- z$ h4 h
- echo $mail.' found from line '.$lineNumber.PHP_EOL;% W) B: P* p3 D+ w2 b
- file_put_contents('result.txt', $mail.PHP_EOL, FILE_APPEND);+ ^( b3 q* d" A8 q' E' [
- }
4 A6 Q9 Q$ |( ]7 u0 k; Y6 {" L - }: l2 q. C" D, |6 y3 s
- }5 |( l+ \8 m; |7 {" Q7 m
- echo "All Done";6 ~5 H& g) t* l/ [ Z
复制代码 功能:支持提取一行多个email地址,结果全部保存到result.txt ,没有做去重
( ]! H" H" L3 M& K; U. u( ~使用:代码里面的源文件是x.txt ,可以换成你自己的文件名,php保存为getMail.php 然后 php getMail.php 结果保存在result.txt里面 |
评分
-
查看全部评分
|