Erste 3 Sätze aus MySQL-Eintrag auslesen – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self Erste 3 Sätze aus MySQL-Eintrag auslesen Sat, 31 May 03 01:34:33 Z https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410040#m410040 https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410040#m410040 <p>Hi,</p> <p>mit welcher Funktion kann ich realisieren, dass mein PHP-Script die ersten 3 Sätze aus einem Text ausliest, der z.B. in MySQL auch in einer .txt-Datei gespeichert ist?</p> <p>Beispiel dessen, was ich geplant hatte:</p> <p>ÜBERSICHT-SEITE:<br> PHP ist eine schöne Programmiersprache. Sie ist zwar für Leute wie mich zu kompliziert, aber wozu gibt das Selfforum. Hier sind ne Menge intelligente Köpfe, die einem helfen. (Mehr...)</p> <p>TEXT-SEITE:<br> PHP ist eine schöne Programmiersprache. Sie ist zwar für Leute wie mich zu kompliziert, aber wozu gibt das Selfforum. Hier sind ne Menge intelligente Köpfe, die einem helfen. Das möchte ich jedenfalls hoffen. Hmm, was soll ich noch schreiben? Ich denke, es müsste mittlerweile klar sein. Also in der Übersicht sind drei Sätze. In diesem Text sogar schon acht.</p> <p>MfG<br> Alex</p> <p>PS: Also es dreht sich nur um das rausfiltern der besagten 3 Sätze, nicht etwa um irgendwelche Grundlagen von MySQL oder so.</p> Erste 3 Sätze aus MySQL-Eintrag auslesen Sat, 31 May 03 01:39:37 Z https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410049#m410049 https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410049#m410049 <blockquote> <p>aus einem Text ausliest, der z.B. in MySQL auch in einer .txt-Datei gespeichert ist?</p> </blockquote> <p>Sollte eigentlich heißen:<br> aus einem Text ausliest, der z.B. in MySQL _oder_ auch in einer .txt-Datei gespeichert ist?</p> <p>MfG<br> Alex</p> Erste 3 Sätze aus MySQL-Eintrag auslesen Sat, 31 May 03 06:52:54 Z https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410048#m410048 https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410048#m410048 <p>Hallo,</p> <blockquote> <p>PS: Also es dreht sich nur um das rausfiltern der besagten 3 Sätze, nicht etwa um irgendwelche Grundlagen von MySQL oder so.</p> </blockquote> <p>Hier ein allgemeiner Ansatz:<br> Überlege, woran man einen Satz (bzw. dessen Ende) erkennt. Suche drei mal danach und stelle all das dar, was bis zu dieser Stelle im Text vorhanden ist.</p> <p>Grüße<br>   Klaus</p> Erste 3 Sätze aus MySQL-Eintrag auslesen Sat, 31 May 03 07:11:56 Z https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410042#m410042 https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410042#m410042 <blockquote> <p>Hi,</p> <p>mit welcher Funktion kann ich realisieren, dass mein PHP-Script die ersten 3 Sätze aus einem Text ausliest, der z.B. in MySQL auch in einer .txt-Datei gespeichert ist?</p> </blockquote> <p>Das Problem habe ich schon mal gelöst.<br> Achte auf den Bugfix am Ende habe keine Lust es neu zu schreiben.</p> <p><?php</p> <p>$text = 'PHP ist eine schöne Programmiersprache. Sie ist zwar für Leute wie mich zu kompliziert, aber wozu gibt das Selfforum. Hier sind ne Menge intelligente Köpfe, die einem helfen. Das möchte ich jedenfalls hoffen. Hmm, was soll ich noch schreiben? Ich denke, es müsste mittlerweile klar sein. Also in der Übersicht sind drei Sätze. In diesem Text sogar schon acht.';</p> <p>preg_match_all ('=.+\b[.?!] =Us', $text, $saetze);</p> <p>// print_r($saetze); // Zum testen</p> <p>print $saetze[0][0];<br> print $saetze[0][1];<br> print $saetze[0][2];</p> <p>?></p> <p>Erklärung zu dem regulären Ausdruck:</p> <p>'=.+\b[.?!] =Us'</p> <p>was haben wir da?</p> <p>Am Anfang ein ' und am Ende auch. Die sind für PHP (String-Begrenzungszeichen)<br> Das dazwischen ist für die "PCRE library"</p> <p>= als Begrenzung für PCRE<br> Der Punkt . paßt auf genau ein beliebiges Zeichen außer dem Zeilenendezeichen \n.<br> Das Pluszeichen + steht für {1,}, also für mindestens eine Wiederholung des vorhergehenden Ausdrucks)</p> <p>\b ist eine Wortgrenze, also das Ende oder der Anfang eines Wortes<br>   (Achtung es kann Probleme mit äöüß geben)</p> <p>Dann kommt eine Zeichenmenge begrenzt durch [ und ]. In denn eckigen Klammern sind die Zeichen die hier vorkommen dürfen. Bei dir die Satzzeichen .?!</p> <p>Noch ein Leerzeichen. (Ist halt so üblich nach einem Satzzeichen)</p> <p>Und noch mal ein = als Begrenzung</p> <p>Das U und das s sind 'Pattern Modifiers' sie verändern das verhalten des Suchmusters.<br> U sorgt dafür, daß Ungreedy gematched wird, normaler weise ist .+ sehr hungrig und würde alles nehmen was es bekommt :-)<br> S verändert das verhalten des Punktes . so das er auch auf \n (Zeilenendezeichen) past.</p> <p>Also:<br> "Suche 'beliebige Zeichen' gefolgt von einer Wortgrenze auf die ein . oder ? oder ! folgt, mit einem Leerzeichen danach"</p> <p>Achtung: Wenn der Text nur 3 Sätze hat werden nur 2 gefunden bei 2 = 1.</p> <p>---------------<br> Bugfix für wenig Sätze:</p> <p>preg_match_all ('=.+(\b[.?!] |$)=Us', $text, $saetze);<br> ---------------</p> <p>Der Linker</p> Erste 3 Sätze aus MySQL-Eintrag auslesen Sat, 31 May 03 08:27:43 Z https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410041#m410041 https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410041#m410041 <p>Hi,</p> <blockquote> <p>mit welcher Funktion kann ich realisieren, dass mein PHP-Script die ersten 3 Sätze aus einem Text ausliest, der z.B. in MySQL auch in einer .txt-Datei gespeichert ist?</p> </blockquote> <p>Das Problem dürfte sein, die Satzgrenzen zu erkennen.<br> Klar, ein Punkt kann einen Satz beenden.<br> Er kann aber z.B. auch eine Abkürzung anzeigen, oder aber in einer Zahl (3.14159) als Trennzeichen vorkommen.</p> <p>cu,<br> Andreas</p> <div class="signature">-- <br> Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.<br> <a href="http://mud-guard.de/?" rel="nofollow noopener noreferrer">http://mud-guard.de/?</a> <a href="http://www.andreas-waechter.de/" rel="nofollow noopener noreferrer">http://www.andreas-waechter.de/</a> <a href="http://www.helpers.de/" rel="nofollow noopener noreferrer">http://www.helpers.de/</a> </div> Erste 3 Sätze aus MySQL-Eintrag auslesen Sat, 31 May 03 09:47:44 Z https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410044#m410044 https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410044#m410044 <p>Hi,</p> <p>Da Deine Antwort auf mein Posting verschwunden ist, während ich die Antwort schrieb, eben hier:</p> <blockquote> <p>Hast du dir mal die mühe gemacht vor deiner Antwort die Antworten zu lesen die schon da sind?</p> </blockquote> <p>Ja.</p> <blockquote> <p>Oder bist du mit meiner Definition nicht einverstanden?</p> </blockquote> <p>s.u.</p> <blockquote> <p>"Suche 'beliebige Zeichen' gefolgt von einer Wortgrenze auf die ein . oder ? oder ! folgt mit einem Leerzeichen danach"</p> </blockquote> <p>Schau Dir mal einen Beispielsatz an:</p> <p>Es gibt verschiedene HTML-Elemente, z.B. a, address, acronym usw. usf., und es gibt HTML-Attribute.</p> <p>Beliebige Zeichen gefolgt von einer Wortgrenze:</p> <p>Folgt auf die beliebigen Zeichen 'z.B' eine Wortgrenze?<br> Folgt auf die beliebigen Zeichen 'usw' eine Wortgrenze?<br> Folgt auf die beliebigen Zeichen 'usf' eine Wortgrenze?</p> <p>Wie erkennst Du die Wortgrenze? Hilft das in irgendeinerweise?</p> <p>cu,<br> Andreas</p> <div class="signature">-- <br> Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.<br> <a href="http://mud-guard.de/?" rel="nofollow noopener noreferrer">http://mud-guard.de/?</a> <a href="http://www.andreas-waechter.de/" rel="nofollow noopener noreferrer">http://www.andreas-waechter.de/</a> <a href="http://www.helpers.de/" rel="nofollow noopener noreferrer">http://www.helpers.de/</a> </div> Erste 3 Sätze aus MySQL-Eintrag auslesen Sat, 31 May 03 17:41:50 Z https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410043#m410043 https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410043#m410043 <p>Moin Linker,</p> <blockquote> <p>[...]</p> </blockquote> <p>Danke für die ausführliche Info. Werde es mal gleich ausprobieren...</p> <p>MfG<br> Alex</p> Wann ist ein Satz zu Ende? Sat, 31 May 03 10:38:06 Z https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410045#m410045 https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410045#m410045 <p>Hallo Andreas,</p> <blockquote> <p>Da Deine Antwort auf mein Posting verschwunden ist, während ich die Antwort schrieb, eben hier:</p> </blockquote> <p>So sind wir wenigstens im richtigen Zweig gelandet ;-)</p> <blockquote> <blockquote> <p>Hast du dir mal die mühe gemacht vor deiner Antwort die Antworten zu lesen die schon da sind?</p> </blockquote> <p>Ja.</p> </blockquote> <p>Es kam mir halt so vor als ob nicht. Da dein Beitrag inhaltlich dem von Klaus doch sehr nah kam.</p> <blockquote> <blockquote> <p>Oder bist du mit meiner Definition nicht einverstanden?<br> "Suche 'beliebige Zeichen' gefolgt von einer Wortgrenze auf die ein . oder ? oder ! folgt mit einem Leerzeichen danach"</p> </blockquote> <p>Schau Dir mal einen Beispielsatz an:</p> <p>Es gibt verschiedene HTML-Elemente, z.B. a, address, acronym usw. usf., und es gibt HTML-Attribute.</p> </blockquote> <p>Hmm da hast du recht Abkürzungen sind in der Definition wirklich nicht bedacht.</p> <blockquote> <p>[schnipp]<br> Wie erkennst Du die Wortgrenze? Hilft das in irgendeinerweise?</p> </blockquote> <p>Es hilft in soweit das ich jetzt einen neu BUG habe den es zu beseitigen gilt. Hast du eine Idee? Man könnte eine Liste gebräuchlicher Abkürzungen mit einbauen. Wie erkennt ein Mensch eigentlich ob es sich um ein Satzende oder um eine Abkürzung handelt?</p> <p>Wo bei ich sagen muß das meine Lösung schon im Praktischem Einsatz bewährt hat. Ich muß mal nachfragen wahrscheinlich verwenden die Autoren so wenige Abkürzungen das es noch nicht aufgefallen ist.</p> <p>Gruß<br>   Christian</p> Wann ist ein Satz zu Ende? Sat, 31 May 03 11:27:35 Z https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410046#m410046 https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410046#m410046 <p>Hi,</p> <blockquote> <p>Es hilft in soweit das ich jetzt einen neu BUG habe den es zu beseitigen gilt.</p> </blockquote> <p>Es handelt sich m.E. nicht um einen Bug, sondern um ein prinzipielles Problem.</p> <blockquote> <p>Man könnte eine Liste gebräuchlicher Abkürzungen mit einbauen.</p> </blockquote> <p>Das verringert das Problem, behebt es aber nicht.</p> <blockquote> <p>Wie erkennt ein Mensch eigentlich ob es sich um ein Satzende oder um eine Abkürzung handelt?</p> </blockquote> <p>Der Mensch ist in der Lage, den Zusammenhang der Buchstaben zu erkennen.<br> Diesen "Mechanismus" einer Maschine beizubringen, ist nicht ganz einfach - ansonsten gäbe es bereits gute Übersetzungsprogramme...</p> <p>cu,<br> Andreas</p> <div class="signature">-- <br> Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.<br> <a href="http://mud-guard.de/?" rel="nofollow noopener noreferrer">http://mud-guard.de/?</a> <a href="http://www.andreas-waechter.de/" rel="nofollow noopener noreferrer">http://www.andreas-waechter.de/</a> <a href="http://www.helpers.de/" rel="nofollow noopener noreferrer">http://www.helpers.de/</a> </div> Wann ist ein Satz zu Ende? Sun, 01 Jun 03 06:36:45 Z https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410047#m410047 https://forum.selfhtml.org/self/2003/may/31/erste-3-saetze-aus-mysql-eintrag-auslesen/410047#m410047 <p>Hallo Andreas,</p> <p>und ich dachte du hättest noch was konstruktives beizutragen. Na ja dann eben nicht.</p> <p>Damit erkläre ich meine Lösung für bestmögliche die mit vertretbaren Aufwand zu realisieren ist.</p> <p>Gruß<br>   Christian</p>