Autovervollständigen – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self Autovervollständigen Tue, 31 Jul 12 07:38:23 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554671#m1554671 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554671#m1554671 <p>Hallo,</p> <p>habe es lange vor mir hergeschoben, aber jetzt muss ich mich mit <a href="http://de.wikipedia.org/wiki/Autovervollst%C3%A4ndigen" rel="nofollow noopener noreferrer">Autovervollständigen</a> beschäftigen. Es geht um das Vorschlagen von Städtenamen.Immer ein Ärgernis, wenn man die richtige "Neustadt" nicht findet.</p> <p>Merkwürdig, dass die Suche hier zu diesem Stichwort nichts ausspuckt.</p> <p>Gibt es eine schlanke Einführung? Im Prinzip muss ich wohl<br> * die getippten Buchstaben per Ajax an den Server senden. Ich denke ab drei Buchstaben macht das Sinn,<br> * dort ein PHP- Programm haben, das in der Datenbank nachschaut und fünf (?) Ergebnisse zurückmeldet, vielleicht abhängig von den (von anderen Besuchern) zuvor gesuchten Städten? Ich merke mir die gesuchten Worte und zähle die Suchvorgänge pro Wort. So merke ich, dass vielleicht immer nach "Prag" gesucht wird, obwohl die Stadt "Praha" heisst.<br> * und jetzt Neuland für mich: Ich muss eine Auswahlliste aufmachen und per Up/Down Taste oder Maus aus dem Eingabefeld raus in diese Liste. Wie das geht, ist mir nicht klar, da hätte ich gerne ein Beispiel zum Anschauen. Bei Google blicke ich nicht durch.</p> <p>Gruß, Gast</p> Autovervollständigen Tue, 31 Jul 12 07:57:04 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554683#m1554683 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554683#m1554683 <p>Tach!</p> <blockquote> <p>Gibt es eine schlanke Einführung? Im Prinzip muss ich wohl</p> </blockquote> <p>Das Prinzip hast du ja schon verstanden. Beim PHP-Teil ...</p> <blockquote> <p>* dort ein PHP- Programm haben, das in der Datenbank nachschaut und fünf (?) Ergebnisse zurückmeldet, vielleicht abhängig von den (von anderen Besuchern) zuvor gesuchten Städten? Ich merke mir die gesuchten Worte und zähle die Suchvorgänge pro Wort. So merke ich, dass vielleicht immer nach "Prag" gesucht wird, obwohl die Stadt "Praha" heisst.</p> </blockquote> <p>... ist die Frage, wie komplex es am Ende werden soll. Bringt die Statistik etwas? Ist es wirklich so, dass die meist gesuchten oben stehen sollen oder vielleicht nicht doch lieber eine alphabetische Liste (oder gar eine Kombination aus beiden)? Merken was gesucht wird, kannst du sinnvoll erst nach der Auswahl, sonst hast du einen Haufen unvollständiger Eingabeversuche in der Statistik, die du irgendwie mit den tatsächlichen Einträgen in Übereinstimmung bringen musst. Der Statistik-Eintrag kann also erst nach der Auswahl aus der Liste (per Ajax an den Server übertragen) oder der Einfachheit halber nach dem Absenden des Formulars vorgenommen werden.</p> <blockquote> <p>* die getippten Buchstaben per Ajax an den Server senden. Ich denke ab drei Buchstaben macht das Sinn,<br> * und jetzt Neuland für mich: Ich muss eine Auswahlliste aufmachen und per Up/Down Taste oder Maus aus dem Eingabefeld raus in diese Liste. Wie das geht, ist mir nicht klar, da hätte ich gerne ein Beispiel zum Anschauen.</p> </blockquote> <p>Hier würde ich einfach eine fertige Komponente aus einer Javascript-Bibliothek verwenden. Die sollte auch so dokumentiert sein, dass du sie in dein Projekt integrieren kannst. Die Schnittstellen zum PHP-Teil dürften übersichtlich sein und mit letzterem hast du noch genug eigene Arbeit.</p> <p>dedlfix.</p> Autovervollständigen Tue, 31 Jul 12 10:20:08 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554681#m1554681 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554681#m1554681 <p>hi,</p> <blockquote> <p>Gibt es eine schlanke Einführung? Im Prinzip muss ich wohl<br> * die getippten Buchstaben per Ajax an den Server senden. Ich denke ab drei Buchstaben macht das Sinn,</p> </blockquote> <p>Wir haben hier einen Ort der heißt "Au" und ich weiß den gibt es noch mal irgendwo (ob in deutschland weiß ich nicht). Auf jeden Fall sind es 2 Buchstaben. Wie oft so was vokommt, müsstest du selber mal ermitteln und für dich entscheiden ob 3 vllt doch ausreicht.</p> <p>Bei den Ergebnissen beachte bitte, dass ich ja vllt den Ortsteil eingegeben habe und trotzdem gernen ein Ergebnis hätte. Berlin-...</p> <blockquote> <p>* dort ein PHP- Programm haben, das in der Datenbank nachschaut und fünf (?) Ergebnisse zurückmeldet, vielleicht abhängig von den (von anderen Besuchern) zuvor gesuchten Städten? Ich merke mir die gesuchten Worte und zähle die Suchvorgänge pro Wort. So merke ich, dass vielleicht immer nach "Prag" gesucht wird, obwohl die Stadt "Praha" heisst.</p> </blockquote> <p>So wie es sich anhört musst du das wirklich angeklickt irgendwie loggen und ein Ranking erstellen. Dadrüber kannst du dann sortieren. Einfache klicks würden als beispiel reichen. Das meist angeklickte nach oben. Oder doch die Stadt die am größten ist bzw in meinem Land? Ber (Berlin oder Bern nach oben?)</p> <blockquote> <p>* und jetzt Neuland für mich: Ich muss eine Auswahlliste aufmachen und per Up/Down Taste oder Maus aus dem Eingabefeld raus in diese Liste. Wie das geht, ist mir nicht klar, da hätte ich gerne ein Beispiel zum Anschauen. Bei Google blicke ich nicht durch.</p> </blockquote> <p>Ich habe das vor kurzem mal selber nachbasteln müssen. So quasi ein gefaketes dropdown menü. Oder Dropdown an eingabefeld. Bin da mit diesen Stichworten ganz gut zurecht gekommen. Link habe ich leider grade keinen für dich und kopieren kann ich dir den Code nicht (know how der firma =P)</p> <p>Gruß Niklas</p> <div class="signature">-- <br> Man muss nicht alles wissen, man sollte aber wissen, wo das nicht gewusste zu finden ist. </div> wie macht Google das eigentlich? Tue, 31 Jul 12 12:17:50 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554675#m1554675 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554675#m1554675 <p>Hallo,</p> <p>wenn ich nach "rotenburg tauber" suche, findet der (die das Google?) "Rothenburg ob der Tauber", also mit th.</p> <p>Gibt es da irgendwie einen einfachen Trick, den Linguisten beherrschen, ich aber nicht? Also etwa die Regeln nach der dritten ostmongolischen Lautverschiebung oder wie das heißt?</p> <p>Gast</p> Ajax-Requests überlappen sich Tue, 31 Jul 12 16:29:15 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554672#m1554672 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554672#m1554672 <p>Jetzt habe ich das Problem, dass das Eintippen der Buchstaben schneller ist als die Requests an den Server. Wenn ich bei jedem onKeyUp ein Request mache, wird der schon abgesendet, bevor der vorige beantwortet wurde.</p> <p>Ich muss also ein onKeyUp- Event "aufbewahren", bis der vorangegenagene Request erledigt ist.</p> <p>Wenn ich nun aber den "aufbewahrten" Request losschicken will, könnte es sein, dass die Eingabe schon einige Buchstaben weiter ist, also muss ich einige onKeyUp verwerfen.</p> <p>Ich habe <a href="http://www.w3schools.com/ajax/ajax_xmlhttprequest_onreadystatechange.asp" rel="nofollow noopener noreferrer">hier</a> was gefunden, werde aber nicht schlau draus, wann das Objekt request frei ist.</p> <p>Bei readyState 0 ist es gar nicht eingerichtet und bei readyState 1 läuft es schon?</p> <p>Gast</p> Ajax-Requests überlappen sich Tue, 31 Jul 12 16:36:36 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554674#m1554674 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554674#m1554674 <p>Hallo,</p> <blockquote> <p>Jetzt habe ich das Problem, dass das Eintippen der Buchstaben schneller ist als die Requests an den Server. Wenn ich bei jedem onKeyUp ein Request mache, wird der schon abgesendet, bevor der vorige beantwortet wurde.</p> </blockquote> <p>das wird oft so gelöst, dass man erst dann einen Request mit der vollständigen bisherigen Eingabe sendet, wenn wieder ein wenig "Ruhe" einkehrt, also beispielsweise dann, wenn länger als eine halbe Sekunde keine Taste mehr gedrückt wurde.</p> <p>Ciao,<br>  Martin</p> <div class="signature">-- <br> Es gibt Dinge, die sind sooo falsch, dass nicht einmal das Gegenteil stimmt.<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> Ajax-Requests überlappen sich Tue, 31 Jul 12 18:17:04 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554673#m1554673 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554673#m1554673 <p>hi,</p> <p>das problem kenne ich leider auch.<br> Hatte mir damit geholfen, dass ich die funktion über eine variable gesperrt habe. Sobald diese true ist, geht keine neue anfrage mehr. Das problem ist bei langsamem Internet, dass so die letzten Buchstaben ignoriert werden => nervig.</p> <p>Für dich ist daher sinnvoller, einen timer zu verwenden, der prüft das nichts eingegeben wird.</p> <p>Wenn du mehrere Absendest, solltest du eventuell keys mit senden, damit du weißt wer der letzte Antwortende ist => damit du das älteste dann auch nur ausgibst und nichts altes</p> <p>Gruß Niklas</p> <div class="signature">-- <br> Man muss nicht alles wissen, man sollte aber wissen, wo das nicht gewusste zu finden ist. </div> wie macht Google das eigentlich? Tue, 31 Jul 12 13:03:45 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554676#m1554676 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554676#m1554676 <p>Hi,</p> <blockquote> <p>wenn ich nach "rotenburg tauber" suche, findet der (die das Google?) "Rothenburg ob der Tauber", also mit th.</p> <p>Gibt es da irgendwie einen einfachen Trick, den Linguisten beherrschen, ich aber nicht? Also etwa die Regeln nach der dritten ostmongolischen Lautverschiebung oder wie das heißt?</p> </blockquote> <p>Hilft das?<br> <a href="http://de.wikipedia.org/wiki/Phonetische_Suche" rel="nofollow noopener noreferrer">http://de.wikipedia.org/wiki/Phonetische_Suche</a><br> <a href="http://www.phpgangsta.de/meinten-sie-eingaben-verbessern-mit-levenshtein-und-soundex" rel="nofollow noopener noreferrer">http://www.phpgangsta.de/meinten-sie-eingaben-verbessern-mit-levenshtein-und-soundex</a></p> wie macht Google das eigentlich? Tue, 31 Jul 12 13:06:05 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554677#m1554677 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554677#m1554677 <p>in diesem Zusammenhang noch<br> <a href="http://de.wikipedia.org/wiki/K%C3%B6lner_Phonetik" rel="nofollow noopener noreferrer">http://de.wikipedia.org/wiki/Kölner_Phonetik</a></p> Danke - und eigener Ansatz Tue, 31 Jul 12 14:20:09 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554678#m1554678 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554678#m1554678 <blockquote> <p>in diesem Zusammenhang noch<br> <a href="http://de.wikipedia.org/wiki/K%C3%B6lner_Phonetik" rel="nofollow noopener noreferrer">http://de.wikipedia.org/wiki/Kölner_Phonetik</a></p> </blockquote> <p>Danke dir, in die drei Quellen habe ich kurz reingeschaut. Ist sicher wert, aufmerksam gelesen zu werden.</p> <p>Im Moment gefällt mir meine eigene schlanke Lösung ganz gut (114 Codezeilen plus iclude für DB-Öffnen) mit 5 Durchläufen. Dabei stehen die vermutlich besten Treffer oben. Wenn mehr als 10 Treffer gefunden wurden, werden weitere Durchläufe gebremst (break).</p> <pre><code class="block language-php"> <span class="token keyword">for</span><span class="token punctuation">(</span> <span class="token variable">$i</span><span class="token punctuation">;</span> <span class="token variable">$i</span><span class="token operator"><</span><span class="token number">5</span><span class="token punctuation">;</span> <span class="token variable">$i</span><span class="token operator">++</span> <span class="token punctuation">)</span> <span class="token operator">...</span> <span class="token punctuation">(</span>Daten lesen<span class="token punctuation">,</span> neue speichern<span class="token punctuation">)</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token variable">$i</span> <span class="token operator">==</span> <span class="token number">0</span> <span class="token punctuation">)</span> <span class="token variable">$such_ort</span> <span class="token operator">=</span> <span class="token variable">$such_ort</span><span class="token operator">.</span><span class="token string double-quoted-string">"%"</span><span class="token punctuation">;</span> <span class="token keyword">else</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token variable">$i</span> <span class="token operator">==</span> <span class="token number">1</span> <span class="token punctuation">)</span> <span class="token variable">$such_ort</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"%"</span><span class="token operator">.</span><span class="token variable">$such_ort</span><span class="token punctuation">;</span> <span class="token keyword">else</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token variable">$i</span> <span class="token operator">==</span> <span class="token number">2</span> <span class="token punctuation">)</span> <span class="token variable">$such_ort</span> <span class="token operator">=</span> <span class="token function">str_replace</span><span class="token punctuation">(</span><span class="token string double-quoted-string">" "</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"%"</span><span class="token punctuation">,</span><span class="token variable">$such_ort</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">else</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token variable">$i</span> <span class="token operator">==</span> <span class="token number">3</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token variable">$arr_search</span> <span class="token operator">=</span> <span class="token keyword">array</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"ä"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"ö"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"ü"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"ß"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"ae"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"oe"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"ue"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"ss"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$arr_replace</span> <span class="token operator">=</span> <span class="token keyword">array</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"ae"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"oe"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"ue"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"ss"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"ä"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"ö"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"ü"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"ß"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$such_ort</span> <span class="token operator">=</span> <span class="token function">str_replace</span><span class="token punctuation">(</span><span class="token variable">$arr_search</span><span class="token punctuation">,</span><span class="token variable">$arr_replace</span><span class="token punctuation">,</span><span class="token variable">$such_ort</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">endfor</span> </code></pre> <p>Zum Schluss tausche ich also noch die Umlaute gegen zwei Buchstaben und umgekehrt.<br> Beispiel-Eingabe: "dürk". Ausgabe:<br> lfd;name;land_kz;plz;id;name_zusatz;keywords;lauf<br> 1;Bad Dürkheim;D;67098;9433;;;2<br> 2;Dorn-Dürkheim;D;67585;9527;;;2<br> 3;Worms;D;67550;9518;Herrnsheim, Rheindürkheim;;2</p> <p>Also alle werden gefunden nachdem $i == 1</p> <p>Gebt mir bitte mal ein paar Beispiele zum Testen.</p> <p>Gast</p> Danke - und eigener Ansatz Tue, 31 Jul 12 14:40:56 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554679#m1554679 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554679#m1554679 <p>Hi,</p> <blockquote> <p>Im Moment gefällt mir meine eigene schlanke Lösung ganz gut (114 Codezeilen plus iclude für DB-Öffnen) mit 5 Durchläufen. Dabei stehen die vermutlich besten Treffer oben. Wenn mehr als 10 Treffer gefunden wurden, werden weitere Durchläufe gebremst (break).</p> </blockquote> <p>und du frägst dann jedesmal die DB an mit LIKE, oder?</p> Danke - und eigener Ansatz Tue, 31 Jul 12 15:15:55 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554680#m1554680 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554680#m1554680 <blockquote> <p>Hi,</p> <blockquote> <p>Im Moment gefällt mir meine eigene schlanke Lösung ganz gut (114 Codezeilen plus iclude für DB-Öffnen) mit 5 Durchläufen. Dabei stehen die vermutlich besten Treffer oben. Wenn mehr als 10 Treffer gefunden wurden, werden weitere Durchläufe gebremst (break).</p> </blockquote> <p>und du frägst dann jedesmal die DB an mit LIKE, oder?</p> </blockquote> <p>Ja. Habe jetzt noch den SOUNDS LIKE als weiteren Durchlauf hinzugefügt:</p> <pre><code class="block language-php"> <span class="token variable">$q</span> <span class="token operator">=</span> <span class="token string double-quoted-string">" SELECT ort1.id ,ort1.land_kz ,ort1.plz ,ort1.name ,ort1.name_zusatz ,ort1.name_dialekt ,ort1.keywords FROM orte ort1 "</span><span class="token punctuation">;</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token variable">$i</span> <span class="token operator"><</span> <span class="token number">5</span> <span class="token punctuation">)</span> <span class="token variable">$q</span> <span class="token operator">.=</span> <span class="token string double-quoted-string">" WHERE ort1.name LIKE \""</span><span class="token operator">.</span><span class="token variable">$such_ort</span><span class="token operator">.</span><span class="token string double-quoted-string">"\" OR ort1.name_zusatz LIKE \""</span><span class="token operator">.</span><span class="token variable">$such_ort</span><span class="token operator">.</span><span class="token string double-quoted-string">"\" OR ort1.name_dialekt LIKE \""</span><span class="token operator">.</span><span class="token variable">$such_ort</span><span class="token operator">.</span><span class="token string double-quoted-string">"\" OR ort1.keywords LIKE \""</span><span class="token operator">.</span><span class="token variable">$such_ort</span><span class="token operator">.</span><span class="token string double-quoted-string">"\" OR ort1.plz LIKE \""</span><span class="token operator">.</span><span class="token variable">$such_ort</span><span class="token operator">.</span><span class="token string double-quoted-string">"\" "</span><span class="token punctuation">;</span> <span class="token keyword">else</span> <span class="token variable">$q</span> <span class="token operator">.=</span> <span class="token string double-quoted-string">" WHERE ort1.name SOUNDS LIKE \""</span><span class="token operator">.</span><span class="token variable">$arr_in</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'such_ort'</span><span class="token punctuation">]</span><span class="token operator">.</span><span class="token string double-quoted-string">"\" "</span><span class="token punctuation">;</span> <span class="token variable">$q</span> <span class="token operator">.=</span> <span class="token string double-quoted-string">" ORDER BY CONVERT(ort1.name USING latin1) COLLATE latin1_german2_ci ,ort1.land_kz ,ort1.plz LIMIT 0,30 "</span><span class="token punctuation">;</span> </code></pre> <p>Und selbst, wenn die Laufzeit durch das LIKE nicht optimal wäre ... die Routine wird ja nur angesprungen, wenn ein Mensch etwas eingegeben hat, nicht für jede Anzeige.</p> <p>Gast</p> Autovervollständigen Tue, 31 Jul 12 11:54:47 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554682#m1554682 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554682#m1554682 <blockquote> <p>Bei den Ergebnissen beachte bitte, dass ich ja vllt den Ortsteil eingegeben habe und trotzdem gernen ein Ergebnis hätte. Berlin-...</p> </blockquote> <p>Meine Basis ist die Open Geo DB, Stand vor etwa fünf Jahren.</p> <p>Die vielen Berline unterscheiden sich dort nur im Postcode. Ich habe zusätzliche Felder<br> * name_zusatz (kann der zur PLZ gehörende Ortsteil sein, aber auch eine übergeordnete Verwaltungseinheit, etwa Samtgemeinde)<br> * name_dialekt<br> * keywords<br> und nutze die bei der Suche. So kann ich unter "Fishtown" mit "Bremerhaven" antworten ;-)</p> <p>Aber die müssen natürlich von Hand gepflegt werden. Klar, dass man "Praha" auch unter "Prag,Prague" findet. Aber eben nur zufällig, weil mir diese Keywords eingefallen sind.</p> <p>Gast</p> Autovervollständigen Tue, 31 Jul 12 08:13:11 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554684#m1554684 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554684#m1554684 <p>Hallo dedlfix,</p> <blockquote> <p>... ist die Frage, wie komplex es am Ende werden soll. Bringt die Statistik etwas? Ist es wirklich so, dass die meist gesuchten oben stehen sollen oder vielleicht nicht doch lieber eine alphabetische Liste (oder gar eine Kombination aus beiden)?</p> </blockquote> <p>Tja, da muss ich experimentieren. Habe eben mal in die Datenbank geschaut. Bei den drei Buchstaben "neu" am Wortanfang gibt es 162 Treffer. Die alfabetisch erste "Neustadt" ist Nr. 138 Neustadt (Hessen), davor sowas wie Neu-Darchau, Neumünster, Neunkirchen.</p> <p>Also alfabetisch macht es keinen Sinn.</p> <p>Ich stelle mir solche Fragen am Anfang. Ist blöd, wenn man eine Woche Arbeit in die Programmierung steckt und dann feststellt, dass das Problem gar nicht lösbar ist.</p> <blockquote> <p>Merken was gesucht wird, kannst du sinnvoll erst nach der Auswahl, sonst hast du einen Haufen unvollständiger Eingabeversuche in der Statistik, die du irgendwie mit den tatsächlichen Einträgen in Übereinstimmung bringen musst. Der Statistik-Eintrag kann also erst nach der Auswahl aus der Liste (per Ajax an den Server übertragen) oder der Einfachheit halber nach dem Absenden des Formulars vorgenommen werden.</p> </blockquote> <p>Logisch, dass ich nur Treffer vorschlage, die es wirklich gibt. Bei Youtube habe ich es öfter, dass Wortkombinationen im Suchfeld vorgeschlagen werden, die aber rein gar nichts mit den dann gefundenen Treffern zu tun haben.</p> <blockquote> <p>Hier würde ich einfach eine fertige Komponente aus einer Javascript-Bibliothek verwenden.</p> </blockquote> <p>Tipp?</p> <p>Gruß, Gast</p> Autovervollständigen Tue, 31 Jul 12 08:28:12 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554703#m1554703 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554703#m1554703 <p>Tach!</p> <blockquote> <blockquote> <p>Hier würde ich einfach eine fertige Komponente aus einer Javascript-Bibliothek verwenden.<br> Tipp?</p> </blockquote> </blockquote> <p>Ich würde es im jQuery-Umfeld suchen, weil ich damit schon ein paar Erfahrungen habe. Aber Autovervollständigen ist recht populär und sicher überall in ausreichender Qualität zu haben.</p> <p>dedlfix.</p> Autovervollständigen Tue, 31 Jul 12 08:28:26 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554685#m1554685 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554685#m1554685 <blockquote> <p>Also alfabetisch macht es keinen Sinn.</p> </blockquote> <p>Uups - Denkfehler.</p> <p>Nach drei Buchstaben kann keiner verlangen, dass einer von fünf Vorschlägen _der_ Treffer ist. Also</p> <p>"neus" - 33 Datensätze<br> "neust" - 20 Datensätze<br> "neusta" - 18<br> "neustadt" - immer noch 18</p> <p>Hmm - **grübel**</p> Autovervollständigen Tue, 31 Jul 12 08:36:21 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554686#m1554686 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554686#m1554686 <p>Sorry, wenn ich jetzt mal hier öffentlich "laut denke". Hoffe, nützliche Kommentare zu ernten.</p> <p>Kann man einem unbedarften Webseiten-Besucher eine Suchmaske verständlich machen?</p> <p>Er wird vielleicht zu "seiner" Neustadt noch wissen, dass da ein Berg ist. Die Eingabe "nestadt*berg" ergibt dann einen Treffer "Neustadt am Rübenberge".</p> <p>Nur doof, bei "Neustadt an der Weinstraße" ist auch ein Berg (weiss ich zufällig).</p> <p>**grübel**</p> Autovervollständigen Tue, 31 Jul 12 09:17:46 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554702#m1554702 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554702#m1554702 <p>Hi,</p> <blockquote> <p>Kann man einem unbedarften Webseiten-Besucher eine Suchmaske verständlich machen?</p> </blockquote> <p>Wie viel verständlicher als „*Name* der Stadt“ kannst du dir noch vorstellen?</p> <blockquote> <p>Er wird vielleicht zu "seiner" Neustadt noch wissen, dass da ein Berg ist. Die Eingabe "nestadt*berg" ergibt dann einen Treffer "Neustadt am Rübenberge".</p> <p>Nur doof, bei "Neustadt an der Weinstraße" ist auch ein Berg (weiss ich zufällig).</p> </blockquote> <p>Wenn er Neustädte finden will, die einen Berg „haben“ – dann soll er googlen gehen.</p> <p>Ansonsten, vielleicht noch Bundesland und/oder Postleitzahl(-enbereich) mit den Suchergebnissen mit ausgeben – dann fällt die Zuordnung, welche der vielen Neustädte „seine“ ist, vielleicht etwas leichter.</p> <p>MfG ChrisB</p> <div class="signature">-- <br> RGB is totally confusing - I mean, at least #C0FFEE should be brown, right? </div> Autovervollständigen Tue, 31 Jul 12 10:27:47 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554688#m1554688 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554688#m1554688 <p>hi,</p> <p>gute idee das laut denken!<br> nim als trenner das leerzeichen<br> ich gebe bei Google ja auch z.b. "neustadt weinstraße" ein.</p> <p>Wie gehst du eigentlich mit sachen wie "Altneustadt" um? (name ausgedacht)<br> Gehört das auch zu deinen Treffern oder frägst du hart ab. Also beginnent beim ersten Zeichen?</p> <p>zu meinem obrigen beispiel z.b.: "Weinstraße Neustadt" da hätte ich gerne das selbe ergebnis wie bei "Neustadt Weinstrasse" oder "Neustadt Weinstraße"</p> <p>Oh verdammt bin ich heute fies =P<br> Aber ich denke genau das übersieht man leider viel zu leicht bei so einer Logik. (ae = ä, s und ss, ...)</p> <p>Gruß Niklas</p> <div class="signature">-- <br> Man muss nicht alles wissen, man sollte aber wissen, wo das nicht gewusste zu finden ist. </div> Autovervollständigen Tue, 31 Jul 12 11:34:43 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554687#m1554687 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554687#m1554687 <p>Wenn jemand unbedingt nach "Neustadt" sucht und nicht weiß, wo sich dieses befindet, brauchst und kannst du ihm mit der Autovervollständigung auch nicht helfen. Überdies ist Neustadt u.U. ein Spezialfall, dann erhält er eben 20 Treffer als Auswahl.</p> Autovervollständigen Tue, 31 Jul 12 10:37:44 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554693#m1554693 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554693#m1554693 <p>Tach!</p> <blockquote> <p>(ae = ä, s und ss, ...)</p> </blockquote> <p>Wenn das DBMS MySQL heißt, dann ist diese Gleichsetzung neben Groß-/Kleinschreibung schon über die Wahl einer passenden Kollation gegeben und man kann sich Kopfstände diesbezüglich sparen. (Andere DBMS kennen vielleicht ähnliche Features.)</p> <p>dedlfix.</p> Autovervollständigen Tue, 31 Jul 12 11:26:38 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554689#m1554689 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554689#m1554689 <p>hi,</p> <p>also ich habe ja schon eine selbstgebaute Suchfunktion, die ist aber hakelig. Wenn mehrere Worte eingegeben werden, könnte das erste die Kfz-Nationalkennung sein, das zweite der Postcode, dann Name.</p> <p>Habe mal testweise "au" eigegeben, der von dir genannte Ort. Er ist in der Datenbank (D-79280 Au). Aber Antwort: D-07955 Auma (Thüringen), wahrscheinlich von allen au* der kleinste Postcode.</p> <p>* bis zu 3 Buchstaben am Anfang wird als Kfz-Nationalkennzeichen interpretiert (falls es einen Ort "aus" geben sollte, wird der in Australien gesucht - schlecht)<br> * 6 Zahlen/Buchstaben könnten Postcode sein oder Name<br> * ab Wort Nr. 3 auf jeden Fall Name</p> <blockquote> <p>ich gebe bei Google ja auch z.b. "neustadt weinstraße" ein.</p> </blockquote> <p>Das klappt bei mir (D-67433 Neustadt an der Weinstraße). Durchlaufe mehrere Schleifen, setze den Datenbank-Joker % erst hinten an, dann vorne, dann alle Leerstellen.</p> <p>Bei den nicht gefundenen Suchbegriffen sehe ich aber, dass unsere Deutschzeichen äöüß Probleme machen. Das ist aber eine Extra- Baustelle.</p> <blockquote> <p>Wie gehst du eigentlich mit sachen wie "Altneustadt" um? (name ausgedacht)</p> </blockquote> <p>Error:   Land «», Postcode «%%» und Ort «%ALTNEUSTADT%» not found.</p> <blockquote> <p>Gehört das auch zu deinen Treffern oder frägst du hart ab. Also beginnent beim ersten Zeichen?</p> </blockquote> <p>Nein, Worte nehme ich nicht auseinander. "alt neustadt" (zwei Worte) findet D-19306 Neustadt-Glewe und "altneu stadt" D-01829 Stadt Wehlen.</p> <blockquote> <p>zu meinem obrigen beispiel z.b.: "Weinstraße Neustadt" da hätte ich gerne das selbe ergebnis wie bei "Neustadt Weinstrasse" oder "Neustadt Weinstraße"</p> </blockquote> <p>Uups - wird beides richtig gefunden. **such** Nee, die Datenbank und das Programm gibt das nicht her. Ist vielleicht eine Eigenschaft von MySQL LIKE ? (ß=ss) **test** Lueneburg (statt Lüneburg) - wird nicht gefunden. Üdem statt Uedem auch nicht.</p> <blockquote> <p>Oh verdammt bin ich heute fies =P</p> </blockquote> <p>Ja, deshalb gibt's auch keinen Kaffee, den sonst jeder bei mir bekommt.</p> <p>Gruß, Gast</p> Autovervollständigen Tue, 31 Jul 12 14:38:31 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554690#m1554690 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554690#m1554690 <p>Tach!</p> <blockquote> <p>Uups - wird beides richtig gefunden. **such** Nee, die Datenbank und das Programm gibt das nicht her. Ist vielleicht eine Eigenschaft von MySQL LIKE ? (ß=ss) **test** Lueneburg (statt Lüneburg) - wird nicht gefunden. Üdem statt Uedem auch nicht.</p> </blockquote> <p>Das ist eine Frage der Kollation, welche Umlaute etc. welchen anderen Zeichen gleichgesetzt sind. Was ist denn da für das betroffene Feld konfiguriert?</p> <p>dedlfix.</p> Autovervollständigen Tue, 31 Jul 12 16:18:27 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554691#m1554691 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554691#m1554691 <p>Moin,</p> <blockquote> <p>Das ist eine Frage der Kollation, welche Umlaute etc. welchen anderen Zeichen gleichgesetzt sind. Was ist denn da für das betroffene Feld konfiguriert?</p> </blockquote> <p>utf8_unicode_ci</p> <p>Ich denke, die Umlautbehandlung gehört nicht in ein utf8 Feld? Das kann ja auch japanische Schriftzeichen enthalten.</p> <p>Gast</p> Autovervollständigen Tue, 31 Jul 12 17:04:37 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554692#m1554692 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554692#m1554692 <p>Tach!</p> <blockquote> <blockquote> <p>Das ist eine Frage der Kollation, welche Umlaute etc. welchen anderen Zeichen gleichgesetzt sind. Was ist denn da für das betroffene Feld konfiguriert?<br> utf8_unicode_ci<br> Ich denke, die Umlautbehandlung gehört nicht in ein utf8 Feld? Das kann ja auch japanische Schriftzeichen enthalten.</p> </blockquote> </blockquote> <p>Die Zeichenkodierung ist wichtig, damit der Server weiß, was die Bytes in den Feldern für eine Bedeutung haben, für welches Zeichen sie stehen. utf8(mb4) oder latin1 oder was anderes sagt nur aus, welche Zeichen überhaupt abgelegt werden können und in welcher Form dies geschieht. Die Kollationsangabe ist ein Zusatz und ein Default-Wert, der dann beschreibt, wie die Zeichen der Inhalte beispielsweise zu vergleichen sind.</p> <p>Ein Vergleichen von Strings unterschiedlicher Schriftsysteme ist in der Regel nicht sinnvoll. Selbst wenn du Texte aus mehreren auf lateinischen Buchstaben basierenden Sprachen in einem Feld ablegst, scheiterst du, wenn du sprachindividuell entscheiden möchtest. Dazu fehlt dir nicht nur die Meta-Information zur Sprache jedes einzelnen Feldinhalts. Du kannst jedenfalls immer nur einen Satz von Sortierregeln berücksichtigen. Diese <a href="http://dev.mysql.com/doc/refman/5.5/en/charset-collate.html" rel="nofollow noopener noreferrer">kann durchaus eine andere sein</a> als für das Feld per Default festgelegt ist.</p> <p>Du solltest hier nicht alle möglichen theoretischen Fälle berücksichtigen, sondern das was deine Anwender wirklich benötigen. Wieviele davon können überhaupt andere Schriftsysteme verstehen? Und willst du am Ende wirklich die Begriffe in Originalsprache und -schreibung ablegen, auf dass sie das Zielpublikum nicht findet, weil es an fremden Schriftsystemen und zu ihren eigenen Scheibweisen abweichenden Notationen scheitert?</p> <p>dedlfix.</p> Autovervollständigen Tue, 31 Jul 12 11:40:51 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554694#m1554694 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554694#m1554694 <blockquote> <p>Tach!</p> <blockquote> <p>(ae = ä, s und ss, ...)</p> </blockquote> <p>Wenn das DBMS MySQL heißt, dann ist diese Gleichsetzung neben Groß-/Kleinschreibung schon über die Wahl einer passenden Kollation gegeben und man kann sich Kopfstände diesbezüglich sparen. (Andere DBMS kennen vielleicht ähnliche Features.)</p> </blockquote> <p>Zumindest bei der Sortierung habe ich schon damit experimentiert.<br> Muder<br> Müller (richtig eingeordnet)<br> Muffler</p> <p>Beim Thema "finden" muss ich mal gucken, ob das Sinn macht. Wenn ich nach ü suche, möchte ich nicht finden:<br> 09392 Auerbach (!= Aürbach)<br> 78166 Donaueschingen (!= Donaüschingen)</p> <p>Gast</p> Autovervollständigen Tue, 31 Jul 12 18:47:59 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554695#m1554695 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554695#m1554695 <p>hi,</p> <p>oh noch eine vorlage um das Kaffee angebot einzufrieren:</p> <p>Wie man gut erkennt, sind hier Worte/Namen gegeben, die man nicht verunstalten sollte "Donau". Und davon rutsche ich schon mal in das nächste Thema Rhein ... den Rhein. Wenn ichs dummerweise ohne h schreiben, werde ich nichts finden ...</p> <p>So eine Suche ist anspruchsvoll, ich denke da gibts auch Möglichkeiten der Optimierung je öfters gesucht wurde. Google kann z.b. auch noch darauf zurück greifen, was andere suchen. (Such mal nach "darf ich mit einer", da schlägt er dir nichts vor wie "Darf ich mit einer Ameise spielen" (Alphabet wäre ja das zu erst ;) ). Ich glaub damit wäre die Suche abgerundet ^^</p> <p>(Wundert es einen da noch, dass die Leute die so etwas Programmieren, viel Geld verdienen?)</p> <p>Gruß Niklas</p> <div class="signature">-- <br> Man muss nicht alles wissen, man sollte aber wissen, wo das nicht gewusste zu finden ist. </div> Suchbeispiel 1 Tue, 31 Jul 12 19:15:41 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554696#m1554696 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554696#m1554696 <p>Hallo, Niklas,</p> <blockquote> <p>... Und davon rutsche ich schon mal in das nächste Thema Rhein ... den Rhein. Wenn ichs dummerweise ohne h schreiben, werde ich nichts finden ...</p> </blockquote> <p>Okay, ausprobiert. Eingabe "rein". Ausgabe:<br> lfd;name;land_kz;plz;id;name_zusatz;name_dialekt;keywords;lauf<br> 1;Reinbek;D;21465;6077;;;;2<br> 2;Reinfeld (Holstein);D;23858;6285;;;;2<br> 3;Reinhardshagen;D;34359;7267;;;;2<br> 4;Reinheim;D;64354;9192;;;;2<br> 5;Reinsberg;D;09629;5665;;;;2<br> 6;Reinsdorf;D;08141;5521;;;;2<br> 7;Reinsfeld;D;54421;8542;;;;2<br> 8;Reinstorf;D;21400;6060;;;;2<br> 9;Freinsheim;D;67251;9463;;;;3<br> 10;Rain;D;86641;11274;;;;5</p> <p>Erklärung:<br> Es gibt keinen Ort namens "rein", also kein Treffer bei Durchlauf 1.<br> In Lauf 2 wird nach "rein%" gesucht, Treffer 1 - 8.<br> Weil 10 Treffer noch nicht voll sind, Lauf 3 mit "%rein%" und Treffer 9.<br> Weiter mit Lauf 4, der Leerstellen zu % macht, fruchtet hier nicht.<br> Also Lauf 5 mit "SOUNDS LIKE" ergibt den Treffer 10.</p> <blockquote> <p>So eine Suche ist anspruchsvoll ... (Wundert es einen da noch, dass die Leute die so etwas Programmieren, viel Geld verdienen?)</p> </blockquote> <p>Und ich Depp mache es in diesem Fall ehrenamtlich. Aber es schult natürlich für Kundenaufträge.</p> <p>Gruß Gast</p> Suchbeispiel 1 Tue, 31 Jul 12 19:31:54 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554697#m1554697 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554697#m1554697 <p>hi,</p> <blockquote> <p>Hallo, Niklas,</p> <blockquote> <p>... Und davon rutsche ich schon mal in das nächste Thema Rhein ... den Rhein. Wenn ichs dummerweise ohne h schreiben, werde ich nichts finden ...</p> </blockquote> <p>Okay, ausprobiert. Eingabe "rein". Ausgabe:<br> lfd;name;land_kz;plz;id;name_zusatz;name_dialekt;keywords;lauf<br> 1;Reinbek;D;21465;6077;;;;2<br> 2;Reinfeld (Holstein);D;23858;6285;;;;2<br> 3;Reinhardshagen;D;34359;7267;;;;2<br> 4;Reinheim;D;64354;9192;;;;2<br> 5;Reinsberg;D;09629;5665;;;;2<br> 6;Reinsdorf;D;08141;5521;;;;2<br> 7;Reinsfeld;D;54421;8542;;;;2<br> 8;Reinstorf;D;21400;6060;;;;2<br> 9;Freinsheim;D;67251;9463;;;;3<br> 10;Rain;D;86641;11274;;;;5</p> <p>Erklärung:<br> Es gibt keinen Ort namens "rein", also kein Treffer bei Durchlauf 1.<br> In Lauf 2 wird nach "rein%" gesucht, Treffer 1 - 8.<br> Weil 10 Treffer noch nicht voll sind, Lauf 3 mit "%rein%" und Treffer 9.<br> Weiter mit Lauf 4, der Leerstellen zu % macht, fruchtet hier nicht.<br> Also Lauf 5 mit "SOUNDS LIKE" ergibt den Treffer 10.</p> </blockquote> <p>Und mein gesuchtes Hartheim am Rhein (oder Hartheim am Rein) oder Rheinfelden (also Reinfelden)? ;)<br> Das erste Beispiel ist fies, da der ort dieses Jahr erst umbenannt wurde und das "am Rhein" dazu kam. Also das 2. ist für deine Datenbank realistisch und müsste wohl nicht zu finden sein mit reinfelden.<br> Wären so testdaten, die ich als hier ortskundiger ausprobieren würde =P</p> <p>finde dein vorgehen sehr gut. Das solange weiter suchen zu lassen, bis 10 einträge da sind! (und das du es hier so ausführlich erklärst warum es gefunden wurde, find ich sehr bemerkenswert!!!)</p> <blockquote> <blockquote> <p>So eine Suche ist anspruchsvoll ... (Wundert es einen da noch, dass die Leute die so etwas Programmieren, viel Geld verdienen?)</p> </blockquote> <p>Und ich Depp mache es in diesem Fall ehrenamtlich. Aber es schult natürlich für Kundenaufträge.</p> </blockquote> <p>So sehe ich mein helfen hier im Forum immer, es schult und regt die gedanken an. Zudem komme ich so auf lösungen für eigene themen (die nichts mit den themen hier zutun haben ^^</p> <blockquote> <p>Gruß Gast</p> </blockquote> <p>Gruß Niklas</p> <div class="signature">-- <br> Man muss nicht alles wissen, man sollte aber wissen, wo das nicht gewusste zu finden ist. </div> Suchbeispiel 2 + 3 Tue, 31 Jul 12 20:13:17 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554698#m1554698 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554698#m1554698 <p>Hallo, Niklas,</p> <blockquote> <p>Und mein gesuchtes Hartheim am Rhein (oder Hartheim am Rein) oder Rheinfelden (also Reinfelden)? ;)</p> </blockquote> <p>Okay, habe D-79258 Hartheim umbenannt in "Hartheim am Rhein" und nun schaunmermal:</p> <p>Eingabe: "Hartheim am Rein". Ausgabe:<br> lfd;name;land_kz;plz;id;name_zusatz;name_dialekt;keywords;lauf<br> 1;Hartheim am Rhein;D;79258;10537;;;;5</p> <p>Okay, keine Treffer bis auf Lauf 5 "SOUNDS LIKE". Schöner Test.</p> <p>Eingabe: "Reinfelden". Ausgabe:<br> Keinen Ort «Reinfelden» gefunden</p> <p>Würde dir gerne die Webseite zum Testen preisgeben, möchte hier aber nicht meine Anonymität aufgeben. Kannst du mir deine Mail übermitteln, ohne dass man sie jahrzehnteleng bei Google wiederfindet?</p> <p>So in der Form meinname bei abc punkt def oder ähnlich.</p> <p>Gast</p> Suchbeispiel 2 + 3 Tue, 31 Jul 12 21:05:46 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554699#m1554699 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554699#m1554699 <p>hi,</p> <p>lustiger Test, da hab ich wohl genau das getroffen, was du gesucht hast ;)</p> <p>meine Adresse ist einfach. Meinen Nutzernamen teilen beim k, davor ein @ einfügen und das ganze mit einem .net zur Adresse vollenden.</p> <p>Stehe dort auch immer für Fragen zur verfügung, die man nicht immer direkt hier posten wollte =)</p> <p>Gruß Niklas</p> <div class="signature">-- <br> Man muss nicht alles wissen, man sollte aber wissen, wo das nicht gewusste zu finden ist. </div> Suchbeispiel 2 + 3 Tue, 31 Jul 12 21:39:57 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554700#m1554700 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554700#m1554700 <p>[latex]Mae  govannen![/latex]</p> <blockquote> <p>meine Adresse ist einfach. Meinen Nutzernamen teilen beim k,</p> </blockquote> <p>niklas kamenisch<br> niklask amenisch</p> <blockquote> <p>davor ein @ einfügen</p> </blockquote> <p>@niklas kamenisch<br> @niklask amenisch</p> <p>SCNR</p> <p>Stur lächeln und winken, Männer!<br> Kai</p> <div class="signature">-- <br> It all began when I went on a tour, hoping to find some furniture<br>  Followed a sign saying "Beautiful Chest", led to a lady who showed me her best)<br> <a href="http://selfhtml.knrs.de/#h_stylesheet" rel="nofollow noopener noreferrer">SelfHTML-Forum-Stylesheet</a> </div> Suchbeispiel 2 + 3 Wed, 01 Aug 12 17:56:03 Z https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554701#m1554701 https://forum.selfhtml.org/self/2012/jul/31/autovervollstaendigen/1554701#m1554701 <p>hi,</p> <blockquote> <blockquote> <p>meine Adresse ist einfach. Meinen Nutzernamen teilen beim k,</p> </blockquote> <p>niklas kamenisch<br> niklask amenisch</p> <blockquote> <p>davor ein @ einfügen</p> </blockquote> <p>@niklas kamenisch<br> @niklask amenisch</p> </blockquote> <p>Ich glaub ich formuuliere es mal mit php ewas um:</p> <pre><code class="block language-php"> <span class="token variable">$name</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"niklaskamenisch"</span><span class="token punctuation">;</span> <span class="token variable">$endung</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"net"</span><span class="token punctuation">;</span> <span class="token variable">$vorname</span> <span class="token operator">=</span> <span class="token function">substr</span><span class="token punctuation">(</span><span class="token variable">$name</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">6</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$nachname</span> <span class="token operator">=</span> <span class="token function">substr</span><span class="token punctuation">(</span><span class="token variable">$name</span><span class="token punctuation">,</span> <span class="token number">6</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$mail</span> <span class="token operator">=</span> <span class="token variable">$vorname</span><span class="token operator">.</span><span class="token string double-quoted-string">"@"</span><span class="token operator">.</span><span class="token variable">$nachname</span><span class="token operator">.</span><span class="token variable">$endung</span><span class="token punctuation">;</span> </code></pre> <p>oder lieber noch mit str_replace?</p> <pre><code class="block language-php"> <span class="token variable">$vorlage</span> <span class="token operator">=</span> <span class="token string single-quoted-string">'vorname@nachname.net'</span><span class="token punctuation">;</span> <span class="token variable">$mail</span> <span class="token operator">=</span> <span class="token function">str_replace</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"vorname"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"niklas"</span><span class="token punctuation">,</span><span class="token variable">$vorlage</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$mail</span> <span class="token operator">=</span> <span class="token function">str_replace</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"nachname"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"kamenisch"</span><span class="token punctuation">,</span><span class="token variable">$mail</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>Man könnte das auch noch von hinten her das "k" suchen und damit arbeiten ;)<br> dann wäre meine Erklärung wenigstens 1zu1 ersetzt.</p> <p>Ach ja, du hattest "ni klaskamenisch" bzw. "nik laskamenisch" vergessen ^^</p> <p>Gruß Niklas</p> <div class="signature">-- <br> Man muss nicht alles wissen, man sollte aber wissen, wo das nicht gewusste zu finden ist. </div>