kleines Verständnisproblem mit regulären Ausdrücken
Hi,
ich habe ein Suchwort und möchte nun die Textstelle an der das Wort gefunden wurde teilweisen ausgeben. Der Text soll hierbei ca. 10 Wörter (alternativ 1 Satz) vor dem gesuchten Wort anfangen bzw. 10 Wörter hinter dem gesuchten Wort wieder aufhören. Sodas ich dann eine schöne Textpassage mit dem gesuchten Wort ausgeben kann. Ich habe nun mal eine regulären Ausdruck gebastelt der mir ganze Wörter zurückgibt. Momentan gibt er mir aber die kompletten Wörter des Contents aus. Es sollen natürlich nur 10 sein, also habe ich versucht mit {10} das ganze zu beschränken. Dann wird jedoch keine Übereinstimmung mehr gefunden. Es ist also offensichtlich was falsch, aber wäre denn der Ansatz für mein o. g. Problem generell richtig oder habe ich da ein kompletter Denkfehler drin? Das Suchwort ist in meinem Ausdruck noch nicht berücksichtigt. Code:
([a-zA-Z0-9]+\s) |
AW: kleines Verständnisproblem mit regulären Ausdrücken
Hallo,
ich sehe hier nicht das mit dem regex nach ganzen Wörtern gesucht wird. Code:
[a-zA-Z0-9]+\s Mit dem "+" erkennt er eines der gerade gesuchten Zeichen einmal oder mehrmals und "s" erkennt Leerzeichen und Tabs und sowas aber keine Zeilenumbrüche. Das heißt es wird Quasi alles gefunden was in einem normalen Satz steht. Ich wüsste auch nicht wie mit einem regulären Ausdruck nach irgendwelchen Wörtern davor oder danach gesucht werden kann. Wenn ich ein Wort suchen würde und davor und danach Text ausgeben will würde ich das vielleicht mit "preg_match" machen. -die Position des Wortes im Suchtext feststellen -die Position der gewünschten Zeichen vor und nach dem Suchwort feststellen -alles ausschneiden Beispielcode: PHP-Code:
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 14:07:54 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.