Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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>

Geschrieben
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!

Geschrieben

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

Geschrieben

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

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

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...