preg_match_all für Suchabfragen
Hay all
ich will mir eine seite machen in der Bücher nach Textpassagen durchsuchen kann. Die bücher befinden sich satzweise in einer mysql datenbank geordnet nach kapiteln und sätzen und in verschiedenen sprachen. da ich will das damit auch egarbeitet werden kann will ich gewisse suchmuster fest vorgeben und die Abfragen dann über preg_match_all regeln. Ich habe angefangen und das funktioniert schon alles ganz gut aber ich möchte das doch genauer machen. zum besseren verständniss einmal meine bisherigen vorgaben.
1-10:1-15
Sollte mir alle Sätze 1-15 in kapiteln 1-10 auflisten
1-10:suchwort suchwort2 usw
sollte Kapitel 1-10 nach entsprechenden suchwörtern durchsuchen.
suchwort
sucht in den ganzen büchern nach dem suchwort
+suchwort -ausschlusswort
gibt mir die sätze zurück wo nur das suchwoprt drinvorkommmt das ausschlusswort darf nicht vorkommen
1-20
Listet mir Kapitel 1-20 auf
ich denke ihr versteht schon was ich meine. Die suche funktioniert schon prima jetzt hab ich nur paar kleinigkeiten die mich stören.
manchmal matcht er auf zwei preg_match_all das will ich aber nicht
wie bau ich die pregex soo das wirklich nur einer gematcht wird??
Wie kann ich zeichen im Suchstring ausschliessen? zb. suchwort abfrage. Er matcht obwophl ein : drin vorkommt. das will ich nciht
so sieht mein preg_match_all für suchwort abfrage aus.
/^[^\d+][^w+]+$/mi
wie kann ich den so machen das wirklich nur wenn ein wort oder halt mehrere wörter eingegeben wurden und nix anderes eingegeben wurde das nur dann gematcht wird.
__________________
Die Wahrheit lässt sich nicht teilen...
|