0

私はこのようなプロパティのリストを持っています:

1000 Rope Bend Ter
Labelle, FL 33935
Hendry County
15811 Hendry Isles Blvd
Clewiston, FL 33440
Hendry County

次に、1行目を抽出し、それをMySQLデータベースのアドレスフィールドに配置してから、都市(常に2番目で、その後にコンマがあります)を抽出し、状態とZIPを抽出して、適切なMySQL列に配置する必要があります。 。

したがって、基本的に、1つのアドレスは3行で、上記の形式になっています。住所、改行、市、州、ZIP、改行郡(郡情報は必要ありません)。

誰かがそれを適切に抽出する方法のヒントを与えることができますか?

4

1 に答える 1

1

編集:正規表現を更新しました

正規表現/^([^ ]+)\s*(.+)\s+([^,]+),\s*([^ ]+)\s*(.+)\s*(.+)/imが機能するはずです。

PHPでそれを使用する方法は次のとおりです。

<?php
    $string = "1000 Rope Bend Ter\r\nLabelle, FL 33935\r\nHendry County\r\n15811 Hendry Isles Blvd\r\nClewiston, FL 33440\r\nHendry County";
    preg_match_all("/^([^ ]+)\s*(.+)\s+([^,]+),\s*([^ ]+)\s*(.+)\s*(.+)/im", $string, $matches);

    for ($i = 0; $i < count($matches[0]); $i++) {
        echo "Street number: " . $matches[1][$i] . "<br />";
        echo "Street name: " . $matches[2][$i] . "<br />";
        echo "City: " . $matches[3][$i] . "<br />";
        echo "State: " . $matches[4][$i] . "<br />";
        echo "Zip: " . $matches[5][$i] . "<br />";
        echo "County: " . $matches[6][$i] . "<br />";
        echo "<br /><br />";
    }
?>

出力:

Street number: 1000
Street name: Rope Bend Ter 
City: Labelle
State: FL
Zip: 33935 
County: Hendry County

Street number: 15811
Street name: Hendry Isles Blvd 
City: Clewiston
State: FL
Zip: 33440 
County: Hendry County

正規表現の説明が必要な場合は、そう言ってください。

于 2012-08-20T07:37:34.957 に答える