|
|
发表于 2017-12-4 00:39:19
|
显示全部楼层
本帖最后由 bjzhush 于 2017-12-4 00:45 编辑
$ P% N$ N, f9 f' p5 ^8 o3 Q
/ a2 V: k$ G* A花了几分钟帮你写了下
9 Y' ~: I( K- q! c0 m例如源文件为这个txt
6 y. R1 @& @( K1 E: ^ r- g➜ ~ cat x.txt
/ E" C/ q$ O' L; z- j5 A1 T! khitest9 |$ v& V U5 y8 `: N/ v
[email protected]
+ u- K7 u% o; s n5 t: xhi [email protected] test
4 a; G( {( a! _4 h+ N* q( P3 i) e- V[email protected] [email protected]0 [: s+ u6 s5 X
执行后,得到result.txt
3 r) U& B Z$ k' @/ X➜ ~ cat result.txt
7 ^ i# A8 q3 O# g. e% L/ j[email protected]
% K `9 z2 b! f" T) c[email protected]
$ s4 B" F2 W* A+ C, K/ }6 u; \[email protected]
& [; c0 y, g" m" c! |& c! k[email protected]0 r$ H) k( f' J2 d: Z7 s. |
9 _0 G- k; g, P代码如下:
2 \1 V9 T$ D* ^% h/ m0 g: M+ ~ }" l- <?php
1 a9 x& m8 |2 a8 b- M. p - $file = 'x.txt';0 ]$ I2 n4 h M* J) x8 ?2 s
- $fp = fopen($file, 'r');& c* P: [& Z3 G/ W, s3 h/ h
- if (!$fp) {
8 |6 Y' s, ^- H; [ - exit('failed to open'.$file);
& ^$ V2 ?, C2 B6 m! w `$ N+ g1 ? - }+ k' I( ^8 R6 M; D
- $lineNumber = 0;- i9 h! N8 C* Q$ c# e0 Q
- while($line = fgets($fp)) {
: [; b1 F" H1 r9 F - $lineNumber++;
/ E! e3 A4 a8 M$ O% y/ n - $pattern = '/[a-z0-9_\-\+]+@[a-z0-9\-]+\.([a-z]{2,4})(?:\.[a-z]{2})?/i';& I) R' x; L. I2 m# n
- preg_match_all($pattern, $line, $matches);6 o$ ]# C$ v3 v: X! C+ e2 r6 {
- if (!empty($matches[0])) {1 n" `$ B) w4 |
- foreach ($matches[0] as $mail) {
0 ^6 v" X* S7 g& f# W% h% b - echo $mail.' found from line '.$lineNumber.PHP_EOL;
+ X$ A: J5 [$ Y; o% J) C1 _; ~9 M - file_put_contents('result.txt', $mail.PHP_EOL, FILE_APPEND);" G" P. d% Q' l& D1 G' O, ~, J
- }+ X& s4 Y+ R: l6 B3 j2 c0 G- |/ F
- }
" q; i# w5 N0 w5 B4 }( O) A) a - }
: J0 Z9 b5 n& S+ I - echo "All Done";
; X( D0 r* n, v* O w, r
复制代码 功能:支持提取一行多个email地址,结果全部保存到result.txt ,没有做去重
" D6 M! d' Z: E8 v! |使用:代码里面的源文件是x.txt ,可以换成你自己的文件名,php保存为getMail.php 然后 php getMail.php 结果保存在result.txt里面 |
评分
-
查看全部评分
|