У меня возникла проблема, и мне нужна помощь в ее устранении. Я пытаюсь создать скрипт, который сканирует веб-сайты на предмет почтовых адресов. В основном немецкие адреса, но я не уверен, как создать указанный сценарий. Я уже создал сценарий, который извлекает адреса электронной почты с указанных веб-сайтов. Но адрес вызывает недоумение, потому что настоящего формата не существует. Вот пара немецких адресов для примеров возможного извлечения этих данных.
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
PHP, извлечение почтового адреса ⇐ Html
Программисты Html
1760168856
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;
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/16559899/php-extracting-mailing-address[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия