Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Bestimmte Textteile aus mysql- tabelle hervorheben“

Espressolia

Nicht mehr ganz neu hier

Hallo iher,

ich habe eine Seite wo verschiedene Artikel aus der Datenbank angezeigt wird.
Parallel habe ich ein Lexikon programmiert wo verschiedene Begriffe erklärt werden.

Jetzt möchte ich, dass PHP die ganzen Wörter durchläuft und prüft ob das Wort in Lexikon vorkommt. Wenn ja, soll er um das Wort ein a- Tag liegen, um später per Javascript per Ajax ein Tooltip mit derErklärung zu erzeugen.

Mein Code:
PHP:
$res = $GLOBALS["TYPO3_DB"]->exec_SELECTquery("keyword, def", "tx_lextool_lexikon");
  $lex_num = $GLOBALS["TYPO3_DB"]->sql_num_rows($res);
   for ($a = 0; $a < $lex_num; $a++){
   $row = $GLOBALS["TYPO3_DB"]->sql_fetch_assoc($res);
   $word = $row["keyword"];
   $def = $row["def"];
   $search[] = "/$word/";
  # $replace = "<a class='lexi' title='$def' target='_blank' title='$def' style='color:#fff'>\\0</a>";
  $replace = "<a href='$word'>$word</a>";
   #echo "re $replace";;
   #$article .= preg_replace($search, $replace, $article);
    }
    $output = preg_replace($search, $replace, $article);
  echo $output;

$article ist der Text von der DB.
$output ist aber leer:uhm:

Kann mir jemand helfen?

Danke im vorraus
Espressolia
 

Duddle

Posting-Frequenz: 14µHz

AW: Bestimmte Textteile aus mysql- tabelle hervorheben

Ist $article irgendwo vor dem Code-Ausschnitt definiert? Wenn nein, ist es leer und damit auch der Parameter vom preg_replace() und damit $output.

Abgesehen davon wird $replace bei jedem Durchgang überschrieben, da passiert am Ende also sowieso nicht viel.


Duddle
 

Espressolia

Nicht mehr ganz neu hier

AW: Bestimmte Textteile aus mysql- tabelle hervorheben

Danke für die Antwort.
$article wird vor dem Codeabschnitt aus einer DB, wo die ganzen Artikel stehen, ausgelesen. Wenn ich echo article ausgebe, wird der ganze Artikel auch ordnungsgemäß ausgegeben - nur ohne Hervorhebung der Wörter, die um Lexikon vorkommen. Liegt das daran, das $article html-tags beinhaltet, (wie z.B. <p></p>)?
 

Talirion

People Fotograf

PSD Beta Team
AW: Bestimmte Textteile aus mysql- tabelle hervorheben

ich bin mir nicht ganz sicher, aber versuchs mal so....

PHP:
$res = $GLOBALS["TYPO3_DB"]->exec_SELECTquery("keyword, def", "tx_lextool_lexikon");
  $lex_num = $GLOBALS["TYPO3_DB"]->sql_num_rows($res);
   for ($a = 0; $a < $lex_num; $a++){
       // hold dieser befehl immer nur eine Row oder alle gefundenen?
       $row = $GLOBALS["TYPO3_DB"]->sql_fetch_assoc($res);
       // wenn alle dann sollte er vor der For stehen und hier dann z.B.:
       // $row[$a]["keyword"];
       $word = $row["keyword"];
       $def = $row["def"];
       // ggf. das Keyword noch htmlencoden :) (ä/ö/... usw.)
       $search = $word;
       $replace = " <a href='$word'>$word</a> ";
       $article = str_replace($search, $replace, $article);
    }
    $output =  $article;//preg_replace($search, $replace, $article);
  echo $output;
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: Bestimmte Textteile aus mysql- tabelle hervorheben

Stichwort: debuggen. Lass dir vor der Schleife alle relevanten Variablen ausgeben (mit echo und print_r()), in jedem Schleifendurchgang und danach. Dann siehst du wann etwas drinsteht, dass das preg_replace() stört.


Duddle
 

Espressolia

Nicht mehr ganz neu hier

AW: Bestimmte Textteile aus mysql- tabelle hervorheben

Hi,

Danke für die Antworten. Ich hab jetzt gefunden was preg_replace störte, in ein Datensatz war nach ein Keyword eine einzelne ")". Jetzt geht es wie es gehen soll :)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.155
Beiträge
2.581.851
Mitglieder
67.221
Neuestes Mitglied
opaklaus
Oben