Bestimmte Textteile aus mysql- tabelle hervorheben

Ändere das mal so:

PHP:
$replace = '<a class="lexi" title="' .$def .'" target="_blank" title="' .$def .'">\\0</a>';
 
Hatte gestern leider keine Zeit mehr. Aber heute geht es (hoffentlich erfolgreich) weiter.

Zeig mal mehr oder wenn es nicht zu viel ist den gesamten Quelltext der Seite bzw. lade die Seite(n) hier mal hoch. Nicht das der Fehler an einer ganz anderen Stelle versteckt ist.

So nach zig Versuchen mit deiner Datenbank bin ich hoffentlich einen Schritt weiter.

Was bei mir und meiner Test-Datenbank noch fehlerfrei funktioniert hat, löste mit deinen Daten einen Fehler bzw. eine Warnung aus und das Skript wurde abgebrochen.

Wie sich herausgestellt hat, hat preg_replace Probleme wenn es eine einzelne öffnende oder schließende, runde Klammer im Text gibt.

Im Lexikon der Eintrag UID=459 war so ein Fall. Nachdem ich das richtig gestellt habe, geht es jetzt bei mir wieder.

Was mit aber dafür jetzt Probleme mach, ist der reguläre Ausdruck.
Im Artikel steht z.B. das Wort "Implantaten" im Lexikon aber steht "Implantat". Bei mir wurde aber im Artikel das Wort "Implantaten" trotzdem markiert. Habe mir da jetzt dadurch geholfen das ich im regulären Ausdruck vorne und hinten noch ein Leerzeichen gesetzt habe.

Ist nicht so wie ich mir das vorstelle, denn Wörter auf die ein Komme oder ein Punkt folgt würden jetzt nicht erkannt.

Berichtige du mal deine Datenbank wegen der Klammer und schau ob das eventuell der Fehler war warum es bei dir gar nicht ging.

Gruß Thomas
 
Hi,

gibt es nicht den Ausdruck /^ für Anfang bzw. $/ für das ende, also das dies der letzte Buchstabe ist? Klammern bei den Keyword oder wo?

Jetzt geht es *juhuuuuuuuu*

Was muss man abändern dass er wenn das wort durch (lex)...(/lex) umgeben wird, das php nur die Wörter mit den Tags verseht?
 
Na also es geht doch. Wäre aber interessant zu wissen wo jetzt bei dir der Fehler lag!?

Wie meinst du das mit {lex}. Sollen nur die Wörter geändert werden die dazwischen stehen oder sollen diese Wörter ausgeschlossen werden?
 
Hi,

also das lag, wie du schon sagtest, an der einen Klammer...
Es sollen nur die Wörter beachtet werden die zwischen {lex} stehen.

geht das so?
$search = /^{lex}+{/lex}$/
 
PHP:
$wort = 'Mein Wort';
$html = "<a onclick=\"function(\"{$wort}\")\">";

Bin zufällig in diesem Thema unterwegs, und gleich eine Frage...

Das mit den {} Klammern habe ich schon öfters gesehen, sind
sie nicht überflüssig? ich mache es anstatt mit den {} einfach mit
Punkten bsp.: ".$wort." oder gibt es dort unterschiede?
 
Ich weis es leider auch nicht. Ich denke das liegt irgendwie am CMS wo es dann gepflegt wird.

Da ich es von einer Seite übernehmen muss (da ja in der DB schon alle Wörter mit {lex}$wort{/lex}), habe ich das so übernommen. Vielleicht kann ja jemand anderes dazu was sagen
 
Zurück