[PHP] Auf Großbuchstaben prüfen

Status
Für weitere Antworten geschlossen.

ABC

abgemeldet
21 April 2006
3.851
444
Hallo

Kennt jemand eine Methode wie ich prüfen kann ob der erste Buchstabe ein Großbuchstabe ist? Ich habe hier ein paar Keywords in ein Array gesplittet. Jetzt will ich unterscheiden ob das Wort am Anfang einen großbuchstaben oder Kleinbuchstaben hat.

Mir kämen hierzu 2 Möglichkeiten im Kopf:

1.) Den Ascii Code auslesen und vergleichen
oder
2.) einen Array mit allen Großbuchstaben anlegen und dann mit in_array() prüfen

Beides wäre ja ein wenig aufwendiger. Gibt es nicht was einfacheres?
 
Methode 1 fände ich sogar sehr elegant, da afair alle Großbuchstaben aufeinanderfolgende Codes haben, du könntest also schön mit < und > prüfen.
Ansonsten hätte ich folgende Idee:
PHP:
if($wort{0} != strtolower($wort{0}) {
  echo 'Erster Buchstabe von '.$wort.' ist ein Großbuchstabe!';
}
 
  • Like
Reaktionen: ABC
Methode 1 fände ich sogar sehr elegant, da afair alle Großbuchstaben aufeinanderfolgende Codes haben, du könntest also schön mit < und > prüfen.
Ansonsten hätte ich folgende Idee:
PHP:
if($wort{0} != strtolower($wort{0}) {
  echo 'Erster Buchstabe von '.$wort.' ist ein Großbuchstabe!';
}

Das ist ja mal eine geniale Idee :clap: ;)

Tausend mal Besser wie meine Gedanken!

danke!
 
Brauchst du das wirklich nur zur Unterscheidung wegen groß oder klein??? Weil wenn Du es generell groß Brauchst nimm einfach ucfirst() und gut is egal ob der erste Buchstabe groß ist oder nicht, alle Kommen richtig raus.

*edit
1. das ginge schneller als erst nen Vergleich zu starten.
2. Beachte die Locale einstellungen.
 
Es geht darum. Ich hab mir so nen kleinen Spiderrobot gebastelt. Der hat bereits über 250.000 Dokumente gespidert. Ich habe aus den Quelltexten selbständig Keywords erstellt. Jetzt will ich zumindest etwas eindämmend versuchen Hauptwörter oder Namen hervorzuheben. Das wird zwar so ehe nicht ganz funktionieren, aber ich versuche zu mindestens an Hand des Satzbaus etwas darauf einzugehen um eine bessere Wichtung zu bekommen.

In meinem ersten Versuch (1Mio gespiderte Dokumente) musste ich die DB nochmal leeren, weil zwar das Material stimmig war die Reihenfolge der Suche aber nicht so qualitativ war. Er brachte mir mehr oder wenige unrelevantere Dinge zuerst.

Ich habe deshalb alle Wörter gesplittet. (Satzbau beachtet) und versucht so ein wenig die Wortarten zu sortieren. (Tunwörter, Hauptwörter usw....) gelingt zwar nicht immer, ist mir auch klar, aber es geht zumindest sehr oft!

Die Methode von MrToiz ist deshalb gut, weil das auch ausländische Seiten sein können wie diese: https://www.in.gr/news/article.asp?lngEntityID=970990

Und damit würde das funktionieren!
 
Aber was passiert, wenn der erste Buchstaben im String eine Zahl ist?Oder kannst Du das in jeden Fall ausschliessen?
 
Aber was passiert, wenn der erste Buchstaben im String eine Zahl ist?Oder kannst Du das in jeden Fall ausschliessen?

Kann man schnell prüfen (is_nummeric()) z.B.! Sonderzeichen mir ereg etc...

;)

ABC, das schlüsselwort heisst Stemming ;)
wird von allen Sumas genau für sowas verwendet ;)
damit Autos und Auto das gleiche Keyword sind usw.

Ja eine gescheite Suchmaschine aufzubauen das ist denke ich echt Hardcore Arbeit. Damit die gigantisch gute Inhalte liefert muss schon einiges geschehen.

Derzeit habe ich keine Ahnung aber das Spidern durch GB große Tabellen ist nicht so einfach.

Hab gerade einige Problemchen damit. Z.B. welche Seiten sind nun wichtig und wo wir Müll gespidert etc... hm...

Und dann muss ich mir noch überlegen wie ich die Datenbank Clustern kann!
 
Es gibt von Galileo Computing ein Buch über Suma-Optimierung, solltest dir mal anschaffen, da steht nämlich erstmal zu einem sehr sehr großen Teil wirklich viele Infos wie man eine Suchmaschine baut, also auf welchen Technicken sie basiert, ist wirklich nen absolut geiles Buch.

Edit: schau dir mal Lucene oder besser noch SphinxSearch an ;)
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.