php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.05.2005, 10:33  
Gast
 
Beiträge: n/a
Standard Mailadresse aus komplexen String ziehen

Hallo nochmal,

aus einem fdf-Datensatz

AUSSCHNITT

..... /V(hier stehen meine anmerkungen)>><</T(Datum)/V(24.05.2005)>><</T(Email)/V(mailadresse@mail.de)>><</T(Hauptkatalog)/V/Ja>><</T(Name)/V(Johannes Gassner)>><</T(Summe)/V(319.09) ......

möchte ich die Mailadresse extrahieren. Die Zeichen vor und unmittelbar hinter der eigentlichen Adresse sind ja immer gleich "T(Email)/V(" vor der Adresse und ")>>" hinter der Adresse.

PHP ist noch neu für mich. Da muss es doch entsprechende Befehle geben, oder? Für einen Anstoss wäre ich dankbar.

Grüße

Johannes
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.05.2005, 10:34  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

http://tut.php-q.net/regex.html

oder mittels strpos und substr arbeiten
robo47 ist offline  
Alt 24.05.2005, 10:38  
Gast
 
Beiträge: n/a
Standard

Danke robo47
 
Alt 24.05.2005, 10:42  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

<</T(Email)/V(mailadresse@mail.de)>>

/^.+<</T\(Email\)/V\((\w@\w\.\w)\)>>.+$/

In Perl isses so, dass der Teil zwischen den roten Klammern in die Variabel $1 gespeichert wird. Wie es in PHP ist weiss ich nicht, da ich das noch nie so gebraucht hab.

Soll mal so n Denkanstoss sein. Die RegExp für die E-Mail ist sicher verbesserungswürdig und ich habs nicht getestet. Die Wahrscheinlichkeit dass es auf Anhieb läuft ist relativ gering
__________________
Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
Mark Twain
Igäl ist offline  
Alt 24.05.2005, 10:48  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von Igäl
Wie es in PHP ist weiss ich nicht, da ich das noch nie so gebraucht hab.
einmal rtfm reicht, um es herauszufinden

http://de3.php.net/manual/en/function.preg-match.php
beispiele angucken.
axo ist offline  
Alt 24.05.2005, 10:49  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

ja wie ich vorhin auf wikipedia gelernt hab, kann rtfm ja auch

read the fine manual heißen :P
robo47 ist offline  
Alt 24.05.2005, 11:05  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

I'll RTFM, wenn ich das Zeugs mal brauche. Aber naja.. Bin atm an der Diplomarbeit und die schreib ich halt in Perl Da is mir das grad geläufiger gewesen *gg*
(jaja ich weiss. Isn php Forum... aber hab ihm immerhin mal n Tritt in die richtige Richtung verpasst) ^^

Aber tnx 4 TFM *gg*
__________________
Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
Mark Twain
Igäl ist offline  
Alt 25.05.2005, 16:24  
Gast
 
Beiträge: n/a
Standard Die neue Lösung ist heute Schnee von gestern

ja ja, rtfm hat gestern gegriffen...

Folgender Code hat den Job erledigt:

PHP-Code:
<?php
$absenderermittlung 
$HTTP_RAW_POST_DATA;
$first strpos($absenderermittlung,"T(Email)/V(");
$second =  strpos($absenderermittlung,")>><</T(Hauptkatalog)");
$summe strlen($absenderermittlung);
$first $first +11;
sleep(1);
$absender substr($absenderermittlung$first);
$string1 $absender;
$needle ")>><</T(Hauptkatalog)";
$result_string substr("$string1",0,strpos($string1,$needle));
?>
Jetzt hat das fdf Format aber den Nachteil, dass es in diversen Spezifikationen vorliegt, die sich nicht unwesentlich unterscheiden. Das einzig verbindliche ist, dass die Mailadresse nach folgendem Muster eingebunden ist:

(werauchimmer@woauchimmer.endung)

Mir steht also nur das @ - kommt im ganzen String glücklicherweise nur einmal vor - und die Begrenzung der Adresse (die Klammern) zur Extraktion zur Verfügung.

Gibt es evtl. eine elegante Möglichkeit mit diesem Wissen die Adresse aus dem gesamten String zu extrahieren?

Würde mich sehr freuen. (rtfm Antworten helfen mir im Moment wenig weiter)

Liebe Grüße

Johannes

P.S. Ja, der Code ist krudes Gebastele und noch nicht im Reinen (z.B. sleep), das soll aber nicht stören, oder?
 
Alt 26.05.2005, 08:30  
Erfahrener Benutzer
 
Registriert seit: 19.10.2004
Beiträge: 498
marsch
Standard Re: Die neue Lösung ist heute Schnee von gestern

Zitat:
Zitat von joga
ja ja, rtfm hat gestern gegriffen...

...

Jetzt hat das fdf Format aber den Nachteil, dass es in diversen Spezifikationen vorliegt, die sich nicht unwesentlich unterscheiden. Das einzig verbindliche ist, dass die Mailadresse nach folgendem Muster eingebunden ist:

(werauchimmer@woauchimmer.endung)

Mir steht also nur das @ - kommt im ganzen String glücklicherweise nur einmal vor - und die Begrenzung der Adresse (die Klammern) zur Extraktion zur Verfügung.

Gibt es evtl. eine elegante Möglichkeit mit diesem Wissen die Adresse aus dem gesamten String zu extrahieren?

Würde mich sehr freuen. (rtfm Antworten helfen mir im Moment wenig weiter)

Liebe Grüße

Johannes

P.S. Ja, der Code ist krudes Gebastele und noch nicht im Reinen (z.B. sleep), das soll aber nicht stören, oder?
Du hast wirklich gar nix gelesen, oder? Das ist so easy:
PHP-Code:
#!/usr/bin/php -q
<?php

$zeile 
'bla bla(werauchimmer@woauchimmer.endung)und so weiter...';
preg_match ('/\(([^)@]+@[^)]+)\)/'$zeile$matches);
print_r ($matches);

?>
__________________
Cheers, Marco
marsch ist offline  
Alt 26.05.2005, 12:14  
Gast
 
Beiträge: n/a
Standard

Danke Marco,

doch, ich lese und lese und lese ... und muss auch noch anderen Dingen nachgehen.

Mit PHP beschäftige ich mich erst seit einer Woche, und die Terminologie ist mir noch fremd. Kannst Du mir evtl. ein gutes Buch empfehlen (gerne auch online-Lektüre), mit einer übersichtlichen Befehlsreferenz (incl. Syntax) und jeweiligen Beispielen?

Schönes Wochenende

Johannes
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Event abfangen Ambience JavaScript, Ajax und mehr 4 30.08.2007 14:36
String auslesen Shaira PHP Tipps 2006 11 01.12.2006 17:52
Alle Felder nach String durchsuchen Jacks Rache Datenbanken 6 08.08.2005 09:46
In allen Spalten nach String suchen Jacks Rache Datenbanken 0 05.08.2005 20:15
In allen Tabellen nach String suchen Jacks Rache Datenbanken 0 05.08.2005 11:18
String in allen Spalten suchen Jacks Rache Datenbanken 0 05.08.2005 09:43
Alle Spalten nach String durchsuchen Jacks Rache Datenbanken 0 05.08.2005 09:41
string -> int, nur wenn string zahl ist PHP Tipps 2005-2 3 06.06.2005 12:33
where string von einer funktion zu anderen transportieren PHP Tipps 2005 5 03.03.2005 16:29
php code als string umwandeln PHP Tipps 2005 8 23.02.2005 18:03
String auf bestimmte Breite (Pixel) kuerzen... mudo PHP-Fortgeschrittene 25 28.01.2005 19:07
String suchen und tauschen PHP Tipps 2005 13 08.01.2005 22:00
String aufsplitten? PHP Tipps 2004-2 4 27.12.2004 11:58
[Erledigt] String mit Leerzeichen auffüllen HTML, Usability und Barrierefreiheit 2 27.10.2004 18:47
bekomme string nicht in mysql-tabelle PHP Tipps 2004 6 26.07.2004 11:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
string ziehen, perl script mailadresse extrahieren <> format, mailadressen extrahieren mit perl, string ziehem, spss syntax string endung

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:39 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.