Relian Geschrieben 8. Juni 2004 Teilen Geschrieben 8. Juni 2004 Hallo Jungs, ich möchte den Text, der in einer MySQL- Zeile liegt, auslesen und nach meinen Vorstellungen gestalten. Das Auslesen ist ja kein Problem, aber wie kann ich bestimmte Wörte z.B. in einer anderen Farbe darstellen oder Zeilenumbrüche erzwingen, etc.? Kann man da irgendwie mit Steuerzeichen arbeiten, bzw. selbst welche definieren? MfG Relian :marine Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 8. Juni 2004 Teilen Geschrieben 8. Juni 2004 Nur mit MySQL kommst du nicht weit. Das was du vorhast geht wohl am einfachsten mit Regulären Ausdrücken, dem span-Tag und CSS. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 8. Juni 2004 Teilen Geschrieben 8. Juni 2004 Entweder du machste es wie Enrico gesagt hat, indem du den schon formatierten Text (HTML) in der DB ablegst, oder du definierst dir Platzhalter (irgendwelche Zeichen u.ä. die sonst wohl nicht vorkommen) und ersetzt diese nach dem auslesen. PHP: $MySQLString=mysql_query("SELECT Text FROM Tabelle"); $MySQLString = str_replace('%LF', '<br>', $MySQLString); Damit ersetzt du alle %LF in deinem Text durch <br> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 8. Juni 2004 Teilen Geschrieben 8. Juni 2004 Entweder du machste es wie Enrico gesagt hat, indem du den schon formatierten Text (HTML) in der DB ablegst, [...] Ich meine erst auslesen, dann formatieren! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
computercrustie Geschrieben 8. Juni 2004 Teilen Geschrieben 8. Juni 2004 Es gibt verschiedene Stringfunktionen in MySql, eine davon (die deinen Vorstellungen am ehesten entspricht) ist: REPLACE(str, match, replace) Wobei "str" der Text ist, in dem die Vorkommen von "match" durch "replace" ersetzt werden sollen. Bsp: Tabelle "table" hat das Feld "text" mit dem Wert: "nutzen Sie MySql in Verbindung mit PHP !" dann ergibt die Abfrage: SELECT REPLACE(`text`,'PHP','<i>PHP</i>') FROM `table` "nutzen Sie MySql in Verbindung mit <i>PHP</i> !" Sollen mehrere Strings ersetzt werden, dann müssen die REPLACE-Anweisungen verschachtelt werden: SELECT REPLACE( REPLACE( `text`, 'PHP', '<i>PHP</i>' ), 'MySql', '<b>MySql</b>' ) Stellt sich nur die Frage, ob das wie bereits erwähnt nicht besser nach dem Abfragen gelöst werden kann: $text = "nutzen Sie MySql in Verbindung mit PHP !"; $search = array ( 'PHP', 'MySql' ); $replace = array ( '<i>PHP</i>', '<b>MySql</b>' ); echo str_replace($search,$replace,$text); [/PHP] Oder bei Formatierungen wie in diesem Forum mit RegEx: [PHP] $text = "nutzen Sie [b]MySql[/b] in Verbindung mit [i]PHP[/i] !"; $search = array ( '/\[b\](.*?)\[\/b\]/is', '/\[i\](.*?)\[\/i\]/is' ); $replace = array ( '<i>$1</i>', '<b>$1</b>' ); echo preg_replace($search,$replace,$text); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 8. Juni 2004 Teilen Geschrieben 8. Juni 2004 $begriffe = array('wort1', 'wort2', ...); $pattern = "/(".implode(")|(",$begriffe).")/"; $replace = "<i>\$1</i>"; $highlightText = preg_replace($pattern, $replace, $dbResult); [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.