0

PDFから変換した多数の電子メールアドレスを含むテキストドキュメントがあります。これがどのように見えるかの例です:

name1;someone@awebite1.com;;;
name2;someone@awebite2.com;;;
name3;someone@awebite3.com;;;
name4;someone@awebite4.com;;;
name5;someone@awebite5.com;;;

など...600以上の連絡先

誰もが簡単なphpパターン/式/正規表現を書くことを知っています。データベースに入れることができるように、名前と電子メールを1つずつ分離するために使用できますか?

もちろん、データベースは単純です。お問い合わせ| Eメール

どんな助けでも喜んでいただければ幸いです!

言及するのを忘れました、私はphpでそれをやりたいです。将来使用するために、コードをフォームに組み込みます。

4

3 に答える 3

3

PHPでは、explode関数を使用して文字列を分割できます。

$parts = explode(';', $inputString);

返される配列には、で区切られた各部分が含まれ;ます。

このため、テキストドキュメントの各行はとして指定する必要がありますinputString。したがって、によって返される配列をループします

preg_split('/\\n/',$docContent)

explode各要素で呼び出します。上記preg_splitは、入力の各行を要素として持つ配列を返します。

両方を組み合わせる

$lines = preg_split('/\\n/',$docContent);
foreach($lines as $line) {
   $parts = explode(';', $line);
   //$parts[0] is name and $parts[1] is email. ignore remaining elements
}

注:私はphpについて少ししか知識がありません。より良いコードがあるかもしれません。

于 2013-02-06T09:19:17.470 に答える
1

次のようなものはどうですか?

LOAD DATA INFILE 'yourFile'
INTO TABLE yourTable
FIELDS TERMINATED BY ';'
LINES TERMINATED BY ';;;\n'
于 2013-02-06T09:14:58.320 に答える
0

「連絡先」とは、各行の最初のフィールド(表示されているすべての値に対して「連絡先」と表示されます)を意味すると仮定すると、次のように機能します。

cat contacts.txt | awk {'split($2,A,";"); print A[1]"|"$1"|"A[2]}'
于 2013-02-06T09:08:39.187 に答える