2016-10-31 8 views
0

を使用してテキストファイルから非重複電話番号を抽出:)は、私はあなたのすべてを敬礼そこにあなたのすべての長所をどうもありがとうございました、私はグーグルの助けとこのウェブサイトのstackoverflowでこのコードを実行したPHP

しかし、私は

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 
file.txtを

$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++; 
      } 
     } 
    } 

怒鳴るこのコードを持っていることは、重複番号を出力

で少し問題を抱えています10

+0

、あなたのコード – user3099298

+0

を表示するようにあなたがfile.txtをのコンテンツを追加することができ、問題があることですか?A:あなたのコードが何度も同じ番号を印刷しています「」この 名前のように –

+0

: 電話:1477276084 名: 電話:2958692011 名: 電話:2958692011 名: 電話:2958692011 名: 電話:9954129334 名: 電話:123-812-4181 名: 電話:609-182-5123 名: 電話:609-182-5123 名: 電話:609-182-5123 名: 電話番号:609から182 -5123 –

答えて

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>"; 
    } 

} 
+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++; 
      } 
     } 
    } 
} 
+0

テキストファイルにデータを保存する方法は? – madankundu

+0

警告:in_array()は少なくとも2つのパラメータを必要としますが、1行目に1が与えられますが、それでも重複した数字が出力されます –

+0

更新されました! – Ima

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/>"; 
} 
+0

あまりにもbruhありがとうございますが、私は配列hahahaを削除する必要があります –

関連する問題

 関連する問題