WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Lexikon Wörter erkennung

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Lexikon Wörter erkennung - 29 März 2024 Antworten
im Forum für Webhosting Homepage gefunden:
Lexikon Wörter erkennung
andy1983
Otto-Normal-Poster
Threadstarter




Beiträge: 62

Hi, habe ein relative simples Lexikon, DB mit id, begriff, beschreibung.

nun will ich beim ausgeben einer beschreibung prüfen on ein Wort in der beschreibung als Begriff existiert, wenn ja einen link zur erklärung dieses Begriffes erzeugen.

Beispiel:

Begriff: Ulm
Beschreibung: Ulm liebt bei Stuttgart

Wenn nun der BEgriff Stuttgart als Begriff in der Tabelle hinterlegt ist sollte ein Link zu Stuttgart kommen. Ein Link zu Ulm sollte aber net kommen, wäre ja sinnlos.


Hoffe ihr könnt mir helfen.


MfG

andy

  Profil   Editieren   Zitieren
Can
Halbgott




Beiträge: 1324

Dann würd ich in der Tabelle schreiben (hab jetzt mal aus liebt liegt gemacht ):

Beschreibung: Ulm liegt bei #Stuttgart#

Und bei der Ausgabe schaust du, ob es 2 # gibt. Wenn ja: Wort extrahieren und in der DB suchen.

Can

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren
andy1983
Otto-Normal-Poster
Threadstarter




Beiträge: 62

naja aber dann muss ich (das sind 10 Leute die sich net auskennen) beim eintragen immer alles von Hand machen. und wenn später mal Begriffe hinzukommen, müssen die anderen eventuell bearbeitet werden.

  Profil   Editieren   Zitieren
Can
Halbgott




Beiträge: 1324

Hm...dann musst du halt jedes drin vorkommende Wort in der DB suchen.

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren
andy1983
Otto-Normal-Poster
Threadstarter




Beiträge: 62

Die IDee mit dem Zeichen ist an sich ganz gut, nur von Hand einbauen geht scheif, da wette ich was drauf.

Was wenn bei jedem neuen Begriff in seiner BEschreibung die Zeichen Automatisch gesetzt werden, und dann noch in den anderen Beschereibungen, in denen der Begriff vorkommt??? Löschen werden wir Begriffe net denke ich.

das ist zwar ein großer Rechen aufwand, aber wird ja nur beim einragen einmal gemacht.

Meinst sowas lässt sich machen ?

  Profil   Editieren   Zitieren
Can
Halbgott




Beiträge: 1324

Ist doch einfacher, wenn das bei der Anzeige durchsucht wird; geht ja blitzschnell.

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren
Andreas S
Otto-Normal-Poster




Beiträge: 81

Ich bin mir nicht 100% sicher ob ich deine Frage richtig verstanden habe, aber versuchs mal so:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9:
function lexikon($text){
$result = mysql_query("SELECT id, begriff FROM tabelle");
while ($row = mysql_fetch_assoc($result)) {
$text = preg_replace('#'.preg_quote($row['begriff']).'#is', "" . $row['begriff'] . "", $text);
}
return ($text);
}

1. Der gesamte Inhalt der Tabelle wird mit while() und mysql_fetch_assoc() durchlaufen.

2. In der Schleife selbst wird dein text ($text) mit preg_replace() durchsucht ob eines der zu suchenden Wörter vorhanden ist. Ist das der Fall, wird eben dieses Wort mit der id verlinkt.

3. return() gibt deinen Text dann wieder zurück.

Diese Nachricht wurde geändert von: Andreas S
  Profil   Editieren   Zitieren
andy1983
Otto-Normal-Poster
Threadstarter




Beiträge: 62

das mit den "#" Zeichen fällt da ja dann weg oder? und die beschreibung musst du auch abfragen, denke ich zumindest

scheint aber der richtige Ansatzt zu sein Thx

  Profil   Editieren   Zitieren
Andreas S
Otto-Normal-Poster




Beiträge: 81

Die Beschreibung brauchst du noch gar nicht (erst bei der Anzeige der Beschreibung und des Begriffes -- wenn ich das bis jetzt richtig verstanden habe), also brauchen wir dieses Feld noch nicht selektieren.

das mit den "#" Zeichen fällt da ja dann weg oder?

Ja.

Diese Nachricht wurde geändert von: Andreas S
  Profil   Editieren   Zitieren
andy1983
Otto-Normal-Poster
Threadstarter




Beiträge: 62

irgend wie versteh ich langsam nimmer was dein script machen soll, sorry kann auch an der Uhrzeit liegen

  Profil   Editieren   Zitieren
andy1983
Otto-Normal-Poster
Threadstarter




Beiträge: 62

irgend wie versteh ich langsam nimmer was dein script machen soll, sorry kann auch an der Uhrzeit liegen

  Profil   Editieren   Zitieren
Andreas S
Otto-Normal-Poster




Beiträge: 81

Wie ich schon oben gesagt habe, ich bin mir nicht 100% sicher ob ich deine Frage richtig verstehe. Aber Ich hab mir deine Beschreibung noch einmal durchgelesen und das Skript umgeschrieben und komplettiert;
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29:
 '".addslashes($_GET['id'])."'");
            while ($row2 = mysql_fetch_assoc($query)) {
                $beschreibung = preg_replace('#'.preg_quote($row2['begriff']).'#is', "" . $row2['begriff'] . "", $row['beschreibung']);
            }
            echo "Begriff: " . $row['begriff'] . "
\n"; echo "Beschreibung: " . nl2br($beschreibung); } while ($row = mysql_fetch_assoc($query)); } else { echo "Dieser Eintrag existiert nicht!"; exit; } ?>

Speicher den Code als index.php ab.
Der gewünschte Begriff und dieBeschreibung wird anhand der ID abgerufen, also, z.b: "index.php?id=1", aber ich denke das weisst du schon selbst.

1. Verbindung zu Mysql und selektierung deiner DB.

2. Abfrage des gewünschten Eintrages anhand der ID. Wenn kein Eintrag existiert; Fehlermeldung ausgeben.

3. Abfrage aller Einträge ausser der aktuellen ID.

4. Mit while() und mysql_fetch_assoc() wird das Ergebnis durchlaufen.

5. In der Schleife selbst wird die Beschreibung mit preg_replace() durchsucht ob eines der zu suchenden Begriffe vorhanden ist. Ist das der Fall, wird eben dieser Begriff mit der id verlinkt.

6. Ausgabe von Begriff und Beschreibung.

So, Ich hoffe, dass das eher deinen Wünschen entspricht, wenn nicht, einfach nochmal nachfragen.

Diese Nachricht wurde geändert von: Andreas S
  Profil   Editieren   Zitieren
Bitburki
Pixelschubser




Beiträge: 2

Das # Zeichen ist immer noch drin... das braucht man dann doch gar nicht mehr, oder doch?

Ich versteh auch nicht warum die ID per $_GET['id'] in Zeile 14 und 17 geholt wird. Woher soll die kommen?
Er soll doch über alle Einträge im lexikon drüberschaun.
Hab's schon mit ein paar Anpassungen versucht, aber ich kriegs einfach nicht auf die Reihe.
Hab ebenfalls eine Tabelle mit "ID, Begriff, Definition" und will in der Definition die Wörter mit begriff zum jeweiligen Begriff verlinken, die ich schon in der Datenbank erfasst habe

---
Das Leben ist ein scheiß Spiel - aber die Grafik is verdammt geil!!!

  Profil   Website   Editieren   Zitieren
bastir
Mausakrobat




Beiträge: 150

Ich würde das dann so machen, daß ich erst alle Begriffe (und deren ID's) aus der Datenbank hole:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8:
$qSQL = "SELECT id, begriff FROM lexikon";
$rSQL = MYSQL_QUERY($qSQL);
while ($line=MYSQL_FETCH_ARRAY($rSQL))
{
    $search[]="/$line[begriff] /";
    $replace[]='$line[begriff] ';
}

Nun hast du halt ein array mit den Begriffen ($search[0-x]) und den dazugehörigen links ($replace[0-x])

Nun kannst du bei der Ausgabe einer Beschreibung (bei mir jetzt mal $expl genannt) doch
einfach mit preg_replace() die Begriffe ersetzen lassen:

$expl = preg_replace($search, $replace, $expl);
damit sollten dann die gesuchten Begriffe durch einen Link ersetzt sein!

---
Man kann nicht alles wissen, man muß nur wissen wo es steht!

Diese Nachricht wurde geändert von: bastir
  Profil   Website   Editieren   Zitieren
Bitburki
Pixelschubser




Beiträge: 2

vielen Dank, das wars ... Problem gelöst ))

---
Das Leben ist ein scheiß Spiel - aber die Grafik is verdammt geil!!!

  Profil   Website   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » Lexikon Wörter erkennung

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Lexikon Wörter erkennung im Forum Homepage Hosting AntwortenLetztes Posting
Best online slots
in "PHP & MySQL"
0 23.01.2023 22:40 von Sevetr
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji
php preg_replace_callback für dynamischen Link
in "PHP & MySQL"
0 05.07.2016 11:02 von Rm21
PHP Code verschlüsseln
in "PHP & MySQL"
20 21.02.2016 21:25 von Kilian1
migrierter WP-Blog läuft nicht ...
in "PHP & MySQL"
0 04.02.2016 02:01 von Oxygon



Besucher : 7975203    Heute : 154     Gestern : 388     Online : 51     29.3.2024    11:50      0 Besucher in den letzten 60 Sekunden        
Nach oben