Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Dopellte Ausgabe verhindern

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Michael1967
PostRank 9
PostRank 9
Beiträge: 2158
Registriert: 26.10.2005, 23:51

Beitrag von Michael1967 » 05.02.2007, 15:22

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*

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


chrizz
PostRank 10
PostRank 10
Beiträge: 3044
Registriert: 05.07.2006, 10:37
Wohnort: Berlin

Beitrag von chrizz » 05.02.2007, 16:01

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 :)

Michael1967
PostRank 9
PostRank 9
Beiträge: 2158
Registriert: 26.10.2005, 23:51

Beitrag von Michael1967 » 05.02.2007, 16:11

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?

Gagget
PostRank 2
PostRank 2
Beiträge: 30
Registriert: 02.08.2006, 03:57

Beitrag von Gagget » 05.02.2007, 16:36

Code: Alles auswählen

...
$ergebnis = implode( ', ', array_unique($hit[0]) );

Michael1967
PostRank 9
PostRank 9
Beiträge: 2158
Registriert: 26.10.2005, 23:51

Beitrag von Michael1967 » 05.02.2007, 17:43

Hey, vielen Dank.

Das klappt wunderbar :)

Michael1967
PostRank 9
PostRank 9
Beiträge: 2158
Registriert: 26.10.2005, 23:51

Beitrag von Michael1967 » 05.02.2007, 22:00

Ausgegeben wird mir nun -

Äpfel, Tomaten, Birnen,

Wie kann ich das letzte Komma löschen?

unknownsoul
PostRank 9
PostRank 9
Beiträge: 1604
Registriert: 08.02.2006, 08:28

Beitrag von unknownsoul » 05.02.2007, 23:35

z.B. mit

Code: Alles auswählen

$text=trim("Äpfel, Birnen, Tomaten, ");
echo substr($text,0,(strlen($text)-1));

Michael1967
PostRank 9
PostRank 9
Beiträge: 2158
Registriert: 26.10.2005, 23:51

Beitrag von Michael1967 » 05.02.2007, 23:52

Okay, vielen Dank für die Hilfe! :)

Anonymous

Beitrag von Anonymous » 06.02.2007, 01:23

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...

Michael1967
PostRank 9
PostRank 9
Beiträge: 2158
Registriert: 26.10.2005, 23:51

Beitrag von Michael1967 » 06.02.2007, 09:10

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.

Michael1967
PostRank 9
PostRank 9
Beiträge: 2158
Registriert: 26.10.2005, 23:51

Beitrag von Michael1967 » 06.02.2007, 10:42

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*

twitch
PostRank 9
PostRank 9
Beiträge: 1222
Registriert: 09.04.2005, 14:01

Beitrag von twitch » 06.02.2007, 12:34

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

SEO - History, Tools, Videos, Downloads und mehr auf https://www.seo-ranking-tools.de/

Michael1967
PostRank 9
PostRank 9
Beiträge: 2158
Registriert: 26.10.2005, 23:51

Beitrag von Michael1967 » 06.02.2007, 13:16

Leider weiß ich nicht wie man das macht *schäm*

Gibt es da irgendwo Infos zu?

twitch
PostRank 9
PostRank 9
Beiträge: 1222
Registriert: 09.04.2005, 14:01

Beitrag von twitch » 06.02.2007, 14:29

$string_mit_inhalt = substr($string_mit_inhalt, 0, -1);

SEO - History, Tools, Videos, Downloads und mehr auf https://www.seo-ranking-tools.de/

mcchaos
PostRank 9
PostRank 9
Beiträge: 1414
Registriert: 27.07.2004, 19:18

Beitrag von mcchaos » 06.02.2007, 14:45

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).

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag