PHP, извлечение почтового адресаHtml

Программисты Html
Ответить
Anonymous
 PHP, извлечение почтового адреса

Сообщение Anonymous »

У меня возникла проблема, и мне нужна помощь в ее устранении. Я пытаюсь создать скрипт, который сканирует веб-сайты на предмет почтовых адресов. В основном немецкие адреса, но я не уверен, как создать указанный сценарий. Я уже создал сценарий, который извлекает адреса электронной почты с указанных веб-сайтов. Но адрес вызывает недоумение, потому что настоящего формата не существует. Вот пара немецких адресов для примеров возможного извлечения этих данных.

Ilona Mustermann
Hauptstr. 76
27852 Musterheim

Andreas Mustermann
Schwarzwaldhochstraße 1
27812 Musterhausen

D. Mustermann
Kaiser-Wilhelm-Str.3
27852 Mustach


Это всего лишь несколько примеров того, что я хочу извлечь из веб-сайтов. Возможно ли это сделать с помощью PHP?

Изменить:

Это то, что у меня есть до сих пор

function extract_address($str) {
$str = strip_tags($str);
$Name = null;
$zcC = null;
$Street = null;

foreach(preg_split('/([^A-Za-z0-9üß\-\@\.\(\) .])+/', $str) as $token) {
if(preg_match('/([A-Za-z\.])+ ([A-Za-z\.])+/', $token)){
$Name = $token;
}

if(preg_match('/ /', $token)){
$Street = $token;
}

if(preg_match('/[0-9]{5} [A-Za-zü]+/', $token)){
$zcC = $token;
}

if(isset($Name) && isset($zcC) && isset($Street)){
echo($Name."
".$Street."
".$zcC."

");
$Name = null;
$Street = null;
$zcC = null;
}
}
}


Он работает для получения $Name(IE: Ilona Mustermann и City/zipcode(27852 Musterheim), но не уверены в регулярном выражении, которое всегда будет получать улицы?



Ну, это то, что я придумал на данный момент, и кажется, что оно работает примерно в 60% случаев на улицах зип/сити работают на 100% и имя тоже. Но когда он пытается извлечь улицу, он иногда терпит неудачу. Есть идеи, почему?

function extract_address($str) {
$str = strip_tags($str);
$Name = null;
$zcC = null;
$Street = null;

foreach(preg_split('/([^A-Za-z0-9üß\-\@\.\(\)\& .])+/', $str) as $token) {
if(preg_match('/([A-Za-z\&.])+ ([A-Za-z.])+/', $token) && !preg_match('/([A-Za-zß])+ ([0-9])+/', $token)){
//echo("N:$token
");
$Name = $token;
}

if(preg_match('/(\.)+/', $token) || preg_match('/(ß)+/', $token) || preg_match('/([A-Za-zß\.])+ ([0-9])+/', $token)){
$Street = $token;
}

if(preg_match('/([0-9]){5} [A-Za-züß]+/', $token)){
$zcC = $token;
}

/*echo("

N:$Name

S:$Street

Z:$zcC

");*/

if(isset($Name) && isset($zcC) && isset($Street)){
echo($Name."
".$Street."
".$zcC."

");
$Name = null;
$Street = null;
$zcC = null;
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/165 ... ng-address
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»