PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeile nach bestimmtem Wort ausgeben


NoFugo
01.02.2007, 13:44:11
Hallo,

folgendes Problem:
Mit einer whois-Abfrage erhalte ich verschiedene Informationen, die in die Variable "$info" gepackt werden. Jetzt möchte ich darin nach dem ersten Auftauchen des Wortes "address:" suchen, und die Information/Zeile dahinter ausgeben.

Als Beispiel mal ein Teil der Information($info):

.
.
.
role: Swisscom ADMIN
address: Swisscom AG
address: Weinberglistrasse 4
.
.
.


Ich möchte also in diesem Fall "Swisscom AG" ausgeben.
Mit strpos() kann ich ja nach "address" suchen, aber wie bewerkstellige ich die Ausgabe dahinter?
Vielen Dank schonmal!

Raketenmann
01.02.2007, 13:52:04
du suchst das zweite vorkommen von "address:" auch noch und gibst aus was dazwischen steht? vielleicht bereinigt von leer- und sonderzeichen...

BenniG.
01.02.2007, 13:54:36
Möglichkeit 1 (zu fuß)
Du findest mit strpos erstmal "address" und suchst dann nach dem nächsten Zeilenende "\n", dazu musst du strpos die Fundstelle von "address" als Startposition mitgeben

Möglichkeit 2 (Regex)

preg_match("/address:\s*(.*)\\n/",$text,$result);
print_r($result);

in $result[1] Findest du dann den Namen (vielleicht nochmal trimmen um Leerzeichen am Anfang oder Ende zu beseitigen)
Edit: hab die regex noch ein bisschen angepasst, damit keine Leerzeichen vor dem Ergebnis stehen.


Mit preg_match_all kannst du dann auch weitere vorkommen finden, wenn du das brauchst... Einfach mit print_r schauen wie das Array aussieht..

NoFugo
01.02.2007, 14:54:12
Herzlichen Dank BenniG. - mal wieder ;-)