-6

履歴書から電話番号を抽出する必要があります。さまざまな方法で埋め込むことができ、独自の行にすることができます。

714-555-1212

または長い列で

1212 main st fullerton ca 92835  949.555.1212

それを配列に抽出したい-市外局番、3桁、4桁

これは私がこれまでに持っているものですが、電話番号以外に同じ回線上に他の番号がある場合は機能しません:

function get_phone_number ($string){
    $lines = explode("\n",trim($string));
    foreach ($lines as $value){ 
        //echo "Line: ".$value."<BR>";

        preg_match_all('!\d+!', $value, $matches);
        if (strlen($matches[0][0])=='3' && strlen($matches[0][1])=='3' && strlen($matches[0][2])=='4') { 
            $area_code = $matches[0][0];

        }
    }
    return $area_code;
}
4

1 に答える 1

2
<?php
$areaCodes = array();
$threeDigits = array();
$fourDigits = array();

preg_match_all('/(\d{3})-(\d{3})-(\d{4})/',$content,$matches);

if(count($matches[1])>0)
{
    for($i=0; $i<count($matches[1]); $i++)
    {
        array_push($areaCodes,$matches[1][$i]); 
        array_push($threeDigits,$matches[2][$i]);   
        array_push($fourDigits,$matches[3][$i]);    
    }
}

preg_match_all('/\((\d{3})\)-(\d{3})-(\d{4})/',$content,$matches);

if(count($matches[1])>0)
{
    for($i=0; $i<count($matches[1]); $i++)
    {
        array_push($areaCodes,$matches[1][$i]); 
        array_push($threeDigits,$matches[2][$i]);   
        array_push($fourDigits,$matches[3][$i]);    
    }
}
preg_match_all('/(\d{3}).(\d{3}).(\d{4})/',$content,$matches);

if(count($matches[1])>0)
{
    for($i=0; $i<count($matches[1]); $i++)
    {
        array_push($areaCodes,$matches[1][$i]); 
        array_push($threeDigits,$matches[2][$i]);   
        array_push($fourDigits,$matches[3][$i]);    
    }
}

preg_match_all('\((\d{3})\).(\d{3}).(\d{4})/',$content,$matches);

if(count($matches[1])>0)
{
    for($i=0; $i<count($matches[1]); $i++)
    {
        array_push($areaCodes,$matches[1][$i]); 
        array_push($threeDigits,$matches[2][$i]);   
        array_push($fourDigits,$matches[3][$i]);    
    }
}
print_r($areaCodes);
print_r($threeDigits);
print_r($fourDigits);
于 2012-06-17T03:45:06.543 に答える