1.1k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallo,

Folgendes Problem:

Ich habe einen langen Text als einen String. Diesen Text möchte ich
nach Möglichkeit so kürzen, dass der String nur noch die Zeilen enthält,
wo ein bestimmtes Wort vorhanden ist. Analog zur grep Funktion bei
Linux.

Dieser Konverter soll wenn möglich als PHP programmiert werden.

Der Hintergrund:

In das Eingabefeld soll ein langer Text kopiert werden. Am Ende sollen
nur noch die Zeilen übrig bleiben, die das Wort Haus enthalten.

Gibt es da schon fertige Skripte bzw. habt ihr ein paar Tipps für mich?

Vielen lieben Dank.

2 Antworten

0 Punkte
Beantwortet von friedel Experte (3.3k Punkte)
Durch was sind denn die Zeilen getrennt? Normalerweise besteht ein Text nicht aus Zeilen. Harte Zeilenumbrüche kommen in Texten normalerweise sehr selten vor.
0 Punkte
Beantwortet von macgyver031 Experte (2k Punkte)
Also
1) Du musst dein String in einen Array umwandeln. Vermutlich willst du nach Punkt trennen (= Satz)


$MeinText = <EINGABE TEXT>
$MeineSaetze = explode(".",$MeinText);


2) Jetzt muss du aus den Array, diejenige auswählen die das gesuchte Wort beinhalten


$SuchText = <SUCHWORT>
$Gefunden = ""
$pattern = "/". $SuchText ."/"

foreach $MeineSaetze as $DasSatz {
if(preg_match($pattern, $DasSatz, $temp)){
$Gefunden[] = $DasSatz;
}
}

print_r($Gefunden);
...