PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : nach ?@? in einem string suchen


bavaglino
17.01.2006, 16:08:05
hallo mal wieder.

ich hätte da gerne mal ein kleines problem.

ich habe in einem ordner diverse textdateien liegen. diese lese ich alle ein und möchte beim einlesen in der textdatei vorhandene email adressen finden uns via print ausgeben lassen.

habe hierzu auch schon was geschrieben, verzweifel aber weil es nicht so funzt. die suche nach einer email die vor dem @ und nach dem @ ja sein kann wie sie will schaffe ich nicht.

hier mein script bis dato:


//Einlesen des Hauptverzeichnisses
$verzeichnis = dir('./test');
//Liste der zu ignorierenden Dinge
$ignore = array ('.','..','index.php');
//Ausgabe der enthaltenen dateien
while ($datei = $verzeichnis->read())
{
if(!in_array($datei,$ignore))
{
$str = file_get_contents("test/".$datei) OR die('kann die datei nicht öffnen '.$datei); ## inhalte gelesen

print $str; ## als test gibt mir die inhalte der textdatei aus FUNKTIONIERT

if (ereg("^([a-zA-Z0-9._-]+)@([a-zA-Z0-9.-]+.[A-Za-z][A-Za-z]+)$", $str, $found))
{
print "<br>".$found; ## da kommt NICHTS
}

}
}

bavaglino
17.01.2006, 17:20:52
habe jetzt eine lösung gefunden die so wie es aussieht für meine zwecke reicht


//Einlesen des Hauptverzeichnisses
$verzeichnis = dir('./test');
//Liste der zu ignorierenden Dinge
$ignore = array ('.','..','index.php');
//Ausgabe der enthaltenen dateien
while ($datei = $verzeichnis->read())
{
if(!in_array($datei,$ignore))
{
$str = file_get_contents("test/".$datei) OR die('kann die datei nicht öffnen '.$datei); ## inhalte gelesen

$suchbegriff = '@';

preg_match('/([a-zA-Z0-9._-]+)('.$suchbegriff.')([a-zA-Z0-9.-]+.[A-Za-z][A-Za-z])/', $str, $match);

print $match[1];
print $match[2];
print $match[3];
print "<br>";
}
}


das spuckt mir die email adresse aus dem string aus.