我已经在谷歌和这个网站stackoverflow的帮助下完成了这个代码,非常感谢你们所有人在那里向所有人致敬:)
但我有一点问题就是打印出重复的数字
我的代码如下:
$link = file_get_contents("file.txt");
if(preg_match_all('/\b[0-9]{3}\s*[-]?\s*[0-9]{3}\s*[-]?\s*[0-9]{4}\b/', $link, $content, PREG_PATTERN_ORDER)){
$i = 0;
if(!empty($content[0][$i])){
while(!empty($content[0][$i])){
echo "<br/>";
echo $content[0][$i];
$i++;
}
}
}
file.txt的
Name:
Phone: 1477276084
Name:
Phone: 2958692011
Name:
Phone: 2958692011
Name:
Phone: 2958692011
Name:
Phone: 9954129334
Name:
Phone: 123-812-4181
Name:
Phone: 609-182-5123
Name:
Phone: 609-182-5123
Name:
Phone: 609-182-5123
Name:
Phone: 609-182-5123
答案 0 :(得分:0)
简单的解决方案:
我知道你是新手。您可能需要一个简单的解决方案 您可以保留一系列检测到的电话号码,如果阵列中没有新号码,请将其打印出来。
$link = file_get_contents("file.txt");
$detected = array();
if(preg_match_all('/\b[0-9]{3}\s*[-]?\s*[0-9]{3}\s*[-]?\s*[0-9]{4}\b/', $link, $content, PREG_PATTERN_ORDER)){
$i = 0;
if(!empty($content[0][$i])){
while(!empty($content[0][$i])){
if (!in_array($content[0][$i], $detected))
{
$detected[] = $content[0][$i];
echo "<br/>";
echo $content[0][$i];
$i++;
}
}
}
}
答案 1 :(得分:0)
检查这种方式,首先创建一个唯一的数组,然后循环它。
$link = file_get_contents("file.txt");
$phoneArray = array();
preg_match_all('/\b[0-9]{3}\s*[-]?\s*[0-9]{3}\s*[-]?\s*[0-9]{4}\b/', $link, $content, PREG_PATTERN_ORDER);
$phoneArray = array_unique($content[0]);
foreach($phoneArray as $number){
echo $number;
echo "<br/>";
}
答案 2 :(得分:0)
$link = file_get_contents("file.txt");
if(preg_match_all('/\b[0-9]{3}\s*[-]?\s*[0-9]{3}\s*[-]?\s*[0-9]{4}\b/', $link, $content, PREG_PATTERN_ORDER)){
$content = array_unique($content[0]);
foreach($content as $key=>$value)
{
echo $value;
echo "<br>";
}
}