Seite 1 von 2
Dopellte Ausgabe verhindern
Verfasst: 05.02.2007, 15:22
von Michael1967
Code: Alles auswählen
$text = "$description";
$description = ereg_replace("(\r\n|\n\n|\n|\r)", "", $description);
preg_match_all("/[A-Z].[a-z]{4,}/", $text, $hit);
$ergebnis = implode( ', ', $hit[0] );
Beispiel: Wenn im Text nun folgendes steht -
Äpfel sind gesund weil Äpfel gesund sind.
Dann erhalte ich eine Ausgabe von -
Äpfel, Äpfel
Wie kann ich die doppelte Ausgabe verhindern? Ich finde da keine Infos zu *heul*
Verfasst:
von
SEO Consulting bei
ABAKUS Internet Marketing Erfahrung seit 2002
- persönliche Betreuung
- individuelle Beratung
- kompetente Umsetzung
Jetzt anfragen:
0511 / 300325-0.
Verfasst: 05.02.2007, 16:01
von chrizz
was ist denn sinn und zweck der übung? du willst wissen, ob "Äpfel" im der $description steht, oder? da gibts doch auch suchfkts für, soweit ich weiß. Allerdings fällt mir grad nimmer ein, wie die heißt....aber wenn du googlst wirst du sicherlich fündig...
wenn ich dich falsch evrstanden haben sollte, dann sorry

Verfasst: 05.02.2007, 16:11
von Michael1967
was ist denn sinn und zweck der übung? du willst wissen, ob "Äpfel" im der $description steht, oder?
Neeeee, ich will wenn 2 Mal der Begriff "Äpfel" in der $description steht, dass als $ergebnis nur 1 Mal "Äpfel" ausgegeben wird.
Wie kann ich das filtern?
Verfasst: 05.02.2007, 16:36
von Gagget
Code: Alles auswählen
...
$ergebnis = implode( ', ', array_unique($hit[0]) );
Verfasst: 05.02.2007, 17:43
von Michael1967
Hey, vielen Dank.
Das klappt wunderbar

Verfasst: 05.02.2007, 22:00
von Michael1967
Ausgegeben wird mir nun -
Äpfel, Tomaten, Birnen,
Wie kann ich das letzte Komma löschen?
Verfasst: 05.02.2007, 23:35
von unknownsoul
z.B. mit
Code: Alles auswählen
$text=trim("Äpfel, Birnen, Tomaten, ");
echo substr($text,0,(strlen($text)-1));
Verfasst: 05.02.2007, 23:52
von Michael1967
Okay, vielen Dank für die Hilfe!

Verfasst: 06.02.2007, 01:23
von net(t)worker
Michael1967 hat geschrieben:Ausgegeben wird mir nun -
Äpfel, Tomaten, Birnen,
Wie kann ich das letzte Komma löschen?
besser wäre doch die Frage wo es herkommt.... die php Funktion implode setzt die , nur zwischen die elemente.... keines mehr dahinter...
Verfasst: 06.02.2007, 09:10
von Michael1967
Laß mich raten, Du suchst eine Möglichkeit Keywörter aus einer Description zu bilden in einem PHPLD ??
Richtig würde Paul Panzer jetzt sagen. Aber nicht für PHPLD, sondern für mein eigenes Script.
Verfasst: 06.02.2007, 10:42
von Michael1967
net(t)worker hat geschrieben:Michael1967 hat geschrieben:Ausgegeben wird mir nun -
Äpfel, Tomaten, Birnen,
Wie kann ich das letzte Komma löschen?
besser wäre doch die Frage wo es herkommt.... die php Funktion implode setzt die , nur zwischen die elemente.... keines mehr dahinter...
Hier kommt das Komma her - {4,}
preg_match_all("/[A-Z].[a-z]{4,}/", $text, $hit);
Aber wenn ich das lösche werden alle Wörter nach 4 Zeichen abgeschnitten. Wie bekomme ich das böde Komma am Ende weg *heul*
Verfasst: 06.02.2007, 12:34
von twitch
einfach am Ende die Variable die den String "Äpfel, Tomaten, Birnen, " enthält um den Wert 1 kürzen... ist zwar quick'n dirt aber klappt
Verfasst: 06.02.2007, 13:16
von Michael1967
Leider weiß ich nicht wie man das macht *schäm*
Gibt es da irgendwo Infos zu?
Verfasst: 06.02.2007, 14:29
von twitch
$string_mit_inhalt = substr($string_mit_inhalt, 0, -1);
Verfasst: 06.02.2007, 14:45
von mcchaos
Also, irgendwas stimmt da nicht. Du möchtest doch alle Wörter, die mit einem Großbuchstaben beginnen und mind. 4 Zeichen haben, oder?
preg_match_all("/[A-Z].[a-z]{4,}/", $text, $hit);
-> Würde z.B. nicht auf "Äpfel" reagieren, da Ä nicht in A-Z enthalten ist.
Dann ist z.B. der Punkt in der Mitte falsch (Punkt = egal, welches Zeichen, würde also auch A2pfel ausgeben).
D.h., sowas wäre Dein Ansatz:
$text = "Äpfel sind gesund weil Tomaten auch gesund sind ist.";
preg_match_all("/[A-ZÄÖÜ][a-zäöüß]{4,}/", $text, $hit);
$ergebnis = implode( ', ', array_unique($hit[0]));
print $ergebnis;
-> Äpfel, Tomaten
(ohne hinteres Komma).