1 file函数读取文件,返回文件内容的数组.
2 遍历数组,正则分析每行内容.
preg_match_all("/([\d]{11})/", $str, $matches);
将匹配的手机号放入数组里.
3 输出4 点筛选功能以后,获取上次保存的数组,当然你也可以重新从1开始分析,但哪样效率不高.
再次遍历数组,过滤重复的手机号.
5 将过滤后的手机号写放到文件里.
2 遍历数组,正则分析每行内容.
preg_match_all("/([\d]{11})/", $str, $matches);
将匹配的手机号放入数组里.
3 输出4 点筛选功能以后,获取上次保存的数组,当然你也可以重新从1开始分析,但哪样效率不高.
再次遍历数组,过滤重复的手机号.
5 将过滤后的手机号写放到文件里.
如果你要做成多个页面的话,自己拆分一下就行了.
<?php
$arrFile = file("xxx.txt");
//array_unique
$arrPhone = array();
$arrUniquePhone = array();
foreach($arrFile as $value)
{
//正则可以更加严密点,比如手机号前三位只是13的
//用preg_match_all可以匹配一行内多个手机号,如果你只有一个手机号,可以用preg_match
if(preg_match_all('/(13[\d]{9})/i', $value, $matches))
{
$arrPhone = array_merge($arrPhone, $matches[1]);
}
/*
if(preg_match('/(13[\d]{9})/i', $value, $matches))
{
$arrPhone = array_push($arrPhone, $matches[1]);
}
*/
}
//所有的手机号
print_r($arrPhone);//唯一的手机号
$arrUniquePhone = array_unique($arrPhone);
print_r($arrUniquePhone);//写入文件
file_put_contents("test.txt", implode("\n", $arrUniquePhone));
?>