E-mail Adressen aus txt-Datei auslesen
				
					Collapse
				
			
		
	X
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Junge, ich weiß eben nciht, wie ich das so regle, dass er das wort mit dem @ ausgibt... wenn ich alles wüsste, würd eich hie rnciht posten.
 
 
 Ich habe noch nie etwas mit Regex gemacht, also kommt das nciht in frage, wenn ihr mir nciht erklärt wie ich das machen muss.
 
 
 Ist das sos chwierig?? Ich sitze da jetzt den ganzen Tag dran und ihr Experten brächutet dafür 1 Minute, schreibt das doch einfach ganz kurz und knapp hier hin. Wäre echt nett.
 
 Last edited by sinusweb; 24-10-2006, 18:04.
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Klar, aber der Experte musste es sich auch vorher aneignen und verdient jetzt mit jeder Minute Geld. 
 
 http://www.php-resource.de/tutorials/read/10/1/ Vielleicht hilf das ja wenigstens n bisschen.
 
 ansonsten verfolge doch den Ansatz, den Wahsaga ins Spiel gebracht hat. strstr() kennst du ja nun.
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Okay,
 
 
 habe ich mich mit befasst.
 PHP Code:<?
 
 // Nur @
 $muster = "/@/i";
 
 // Liste der gefundenen Einträge
 $bla = preg_grep($muster, file('adressen.txt'));
 
 // Ausgabe
 foreach ($bla as $out) {
 $email=$out
 
 $domain = strstr($email, '@');
 echo $domain; // Ausgabe: @example.de
 
 }
 
 ?>
 soweit so gut...nun wird mir aus jeder zeile die email adresse ab dem @ zeichen angezeigt, aber nciht der name vor dem @ zeichen
 
 @example.de... möchte, dass er blabla@example.de für jede zeile ausgibt, wie macht man das????Danke im voraus...
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 warum machst du das nicht einfach? Ich kann dir aber ja auch mal was angeben:
 
 $tld = "(biz|com|info|int|name|net|org|pro|arpa|aero|cat|coop|edu|gov|jobs|mil|mobi|museum|tel|travel|ac|ad |ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw| by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|e u|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie |il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv| ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|n u|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl |sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz| va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)";
 
 preg_match(/[\ ]([a-z0-9_][\.\-]?)+@([a-z0-9][\.\-]?)*[a-z0-9]\.".$tld."/i",$string)Last edited by jmc; 24-10-2006, 19:32.
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Reiss mal die Klappe nicht so weit auf - du bist hier der jenige, der keinerlei vernünftigen eigenen Ansatz vorzuweisen hat, und sich dann auch noch äußerst ungeschickt anstellt, wenn es darum geht Denkanstösse zu komplettieren.Original geschrieben von sinusweb
 Habt ihr denn keine Ahnung???
 Dann schaust du dir halt jedes mal das letzte Element aus der Zeile an und prüfst, ob ein @ drin vorkommt.da ist doch das Problem, dass ich in einigen Zeilen keine email Adresse angegeben habe und somit dann die Straße ausgegeben werden würde...I don't believe in rebirth. Actually, I never did in my whole lives.
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Ja, und genau dafür habe ich die eine von mehreren möglichkeiten genannt um dies zu überprüfen. Lies am besten noch mal komplett was wir bis jetzt gesagt haben...da ist doch das Problem, dass ich in einigen Zeilen keine email Adresse angegeben habe und somit dann die Straße ausgegeben werden würde...
 
 Mach dich nicht lächerlich. Mit solchen Provokationen erreichst du nur das Gegenteil. Der einzige der hier keine Ahnung hat und nicht in der Lage ist, hinweise zu befolgen, bist DU, kleiner Mann!Habt ihr denn keine Ahnung???
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Ich bin dank eurer Hilfe schon recht weit, aber eine Sache fehlt noch...PHP Code:<?
 
 
 $muster = "/@/i";
 
 // Liste der gefundenen Einträge
 $mails = preg_grep($muster, file('adressen.txt'));
 
 // Ausgabe
 foreach ($mails as $ad) {
 
 
 
 echo "$ad<br>";
 
 }
 
 
 ?>
 
 Die Zeilen mit den Email Adressen werden erfasst! OK
 in der foreach anweisung mache ich ja vorgaben für jede Zeile, da woltl eich jetzt noch die Anweisung reinbringen, dass er das letzte Wort ausgibt (email adresse ist immer das letzte Wort) >
 
 array_pop(); aber ich muss die zeile ja erst in ein array umwandeln,w ie geht das?
 
 
 da taucht dann allerdings dieser Fehler aufPHP Code:foreach ($mails as $ad) {
 
 
 array_pop($ad)=$ad2;
 echo "$ad2<br>";
 
 }
 
 
 Fatal error: Can't use function return value in write context in /srv/www/httpd/phost/k/com/pytalhost/klasse/web/test/adresse/mail.php on line 13
 
 
 Ich verstehe nciht, was ich verbändern soll. Könnt ihr mir da weiterhelfen?
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Okay. Habe mir alles nochmal durchgelesen.
 
 folgender script ist entstanden und funktioniert NICHT.
 Fatal error: Can't use function return value in write context in ...PHP Code:<?
 $muster = "/@/i";
 
 // Liste der gefundenen Einträge
 $mails = preg_grep($muster, file('adressen.txt'));
 
 // Ausgabe
 foreach ($mails as $ad) {
 
 $ad2= explode (' ',$ad);
 array_pop($ad2)=$ad5;
 echo "$ad5<br>";
 }
 ?>
 on line 13
 
 sprich: da muss der fehler sein
 
 PHP Code:array_pop($ad2)=$ad5;
 
 Comment
 
          
 Moderator
 Moderator
Comment