Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

MySQL Daten formatiert ausgeben

Empfohlene Antworten

Veröffentlicht

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

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>

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);


$begriffe = array('wort1', 'wort2', ...);
$pattern = "/(".implode(")|(",$begriffe).")/";
$replace = "<i>\$1</i>";

$highlightText = preg_replace($pattern, $replace, $dbResult);
[/PHP]

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.