Relian Geschrieben 8. Juni 2004 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
etreu Geschrieben 8. Juni 2004 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.
geloescht_JesterDay Geschrieben 8. Juni 2004 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>
etreu Geschrieben 8. Juni 2004 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!
computercrustie Geschrieben 8. Juni 2004 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);
etreu Geschrieben 8. Juni 2004 Geschrieben 8. Juni 2004 $begriffe = array('wort1', 'wort2', ...); $pattern = "/(".implode(")|(",$begriffe).")/"; $replace = "<i>\$1</i>"; $highlightText = preg_replace($pattern, $replace, $dbResult); [/PHP]
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden