Как прочитать файл .vcf из браузера?

Я пытаюсь получить все адреса электронной почты от экспонентов ИФА Берлин.
Это довольно легко, хотя ползти.

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

Это также мой первый вопрос здесь после долгих лет! Приятно познакомиться, ребята.

1

Решение

Как читать .vcf файл из браузера?

Этот файл всегда будет загруженным файлом и никогда не будет отображаться в браузере. Один из способов заставить его работать — это настроить пользовательское расширение браузера, которое временно сохраняет файл, анализирует микроформат и отображает информацию.

PHP скребковый подход

Существуют парсеры vcard: https://github.com/nuovo/vCard-parser
но я думаю, что вы могли бы основать это на решении RegExp: /EMAIL;INTERNET:(.*)/,

Давайте представим, что ваш первый заезд дает вам список идентификаторов участников,
тогда ваша вторая (vcard) проверка может извлечь и извлечь имя и электронную почту по ID:

<?php

function getVcard($id) {
return file_get_contents('http://www.virtualmarket.ifa-berlin.de/?Action=attendeeVcard&id=' . $id);
}

function getEmailFromVcard($vcard)
{
preg_match('/EMAIL;INTERNET:(.*)/', $vcard, $matches);
if(isset($matches[1])) {
return $matches[1];
}
}

function getNameFromVcard($vcard)
{
preg_match('/N:(.*);;/', $vcard, $matches);
if(isset($matches[1])) {
$array = explode(';', $matches[1]);
$name = trim($array[1]) . ' ' . trim($array[0]);
return $name;
}
}

$id = 1775586;

$vcard = getVcard($id);
$email = getEmailFromVcard($vcard);
$name = getNameFromVcard($vcard);

echo $name . ' ' . $email;
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]