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.
twitch
PostRank 9
PostRank 9
Beiträge: 1222
Registriert: 09.04.2005, 14:01

Beitrag von twitch » 06.02.2007, 14:57

oder so... :-)

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

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.


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

Beitrag von mcchaos » 06.02.2007, 14:59

Ich weiß immer noch nicht, wo das letzte Komma eigentlich herkam :D

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

Beitrag von Michael1967 » 06.02.2007, 15:00

Die Sonderzeichen werden bei mir davor mit -

str_replace ( array ( 'ö','ü','ä','Ö',...... ungewandelt.


So macht er nur das Komma am Ende weg, genauso sollte das sein.

$ergebnis=trim("$ergebnis, ");
$statkeys = substr($ergebnis,0,(strlen($ergebnis)-1));

Nur wenn der Text jetzt sehr lang ist, dann werden zuviel Suchbegriffe ausgegeben. Lässt sich das Ganze noch auf 200 Zeichen oder 20 Suchbegriife hin kürzen?
Zuletzt geändert von Michael1967 am 06.02.2007, 15:02, insgesamt 1-mal geändert.

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

Beitrag von twitch » 06.02.2007, 15:00

ich muss gestehen, das ich den Thread nicht richtig gelesen habe, nur, das ein Komma am Ende eines Strings weg muss.. deswegen meien Antwort :-)

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, 15:09

DA ist das Komma:
$ergebnis=trim("$ergebnis, ");

Richtig wäre:
$ergebnis=trim($ergebnis);
... dann kannst Du die nächste Zeile auch weglassen.


Wenn Du auf die Anzahl der Begriffe beschränken willst:
$a = array_unique($hit[0]);
$a = array_slice ($a, 0, 20); // Anzahl der Begriffe
$ergebnis = implode( ', ', $a);

Du kannst auch die Länge beschneiden:
$ergebnis = substr($ergebnis, 0, 200); // Wenns kürzer ist, stört das PHP nicht
... allerdings kann hier auch mitten im Wort abgeschnitten werden, das müßtest Du dann noch tilgen.

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

Beitrag von Michael1967 » 06.02.2007, 15:19

DA ist das Komma:
$ergebnis=trim("$ergebnis, ");
Dachte ich auch. Da kommt es aber nicht her.

Hier kommt das Komma her -

preg_match_all("/[A-Z].[a-z]{5,}/", $text, $hit);

und zwar dasKomma nach der 5 im Code. Nehme ich das weg, dann ist kein Komma mehr da.


So macht er genau, was ich gesucht habe.

$a = array_unique($hit[0]);
$a = array_slice ($a, 0, 20); // Anzahl der Begriffe
$ergebnis = implode( ', ', $a);


$ergebnis=trim("$ergebnis, ");
$statkeys = substr($ergebnis,0,(strlen($ergebnis)-1));

Vielen Dank für die tolle Hilfe *freu*

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

Beitrag von mcchaos » 06.02.2007, 15:55

$ergebnis=trim("$ergebnis, ");
-> Liefert auf alle Fälle was in $ergebnis drin ist, mit einem Komma und einem Leerzeichen hinten dran. Das Leerzeichen wird durch das Trim getilgt, bleibt also das Komma.

Mach mal:
print "$ergebnis<br>";
$ergebnis=trim("$ergebnis, ");
print "$ergebnis<br>";
und sag mal, was dabei rauskommt.

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

Beitrag von Michael1967 » 06.02.2007, 16:02

Auch wenn ich den Punkt lösche ist das Komma noch da.

Ausgegeben wird dann -

Olbernhau, Erzgebirge, Sachsen, Informationen, Holzkunst, Schauwerkstaetten, Olbernhauer, Reiterlein, Verzeichnis, Pensionen, Wirtshaeusern

Olbernhau, Erzgebirge, Sachsen, Informationen, Holzkunst, Schauwerkstaetten, Olbernhauer, Reiterlein, Verzeichnis, Pensionen, Wirtshaeusern,

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

Beitrag von Michael1967 » 06.02.2007, 16:14

So läuft es auch -

Code: Alles auswählen


preg_match_all&#40;"/&#91;A-Z&#93;.&#91;a-z&#93;&#123;5,&#125;/", $text, $hit&#41;; 
$ergebnis = implode&#40; ', ', array_unique&#40;$hit&#91;0&#93;&#41; &#41;;
$a = array_unique&#40;$hit&#91;0&#93;&#41;; 
$a = array_slice &#40;$a, 0, 20&#41;; // Anzahl der Begriffe 
$ergebnis = implode&#40; ', ', $a&#41;; 

$statkeys = "$ergebnis";

Irgendwie verhext das Ganze. Aber es läuft ja *gg*

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

Beitrag von mcchaos » 06.02.2007, 16:19

Michael1967 hat geschrieben: Ausgegeben wird dann -

Olbernhau, Erzgebirge, Sachsen, Informationen, Holzkunst, Schauwerkstaetten, Olbernhauer, Reiterlein, Verzeichnis, Pensionen, Wirtshaeusern

Olbernhau, Erzgebirge, Sachsen, Informationen, Holzkunst, Schauwerkstaetten, Olbernhauer, Reiterlein, Verzeichnis, Pensionen, Wirtshaeusern,
Sag ich doch :wink:

Mach mal statt:

Code: Alles auswählen

$ergebnis=trim&#40;"$ergebnis, "&#41;;
$statkeys = substr&#40;$ergebnis,0,&#40;strlen&#40;$ergebnis&#41;-1&#41;&#41;; 
nur:

Code: Alles auswählen

$ergebnis=trim&#40;$ergebnis&#41;;

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

Beitrag von Michael1967 » 06.02.2007, 16:21

Läuft auch ohne -

$ergebnis=trim($ergebnis);


Siehe oben. Vielen Dank.

Einfach zu plöt für sowas bin *gg*

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag