Seite 1 von 2
best. Woerter formatieren
Verfasst: 29.11.2008 10:34
von TLoD
Hallo Gemeinde,
könn ihr mir sagen, wie ein Code aussehen muss, wenn ich einen Text aus der DB auslese, den dann auf einer Seite widergebe und bestimmte Wörter in dem Text dann z.B. rot eingefärbt sein sollen?
Z.B. habe ich einen Text und möchte alle Wörter in diesem Text mit INC oder ATT in rot einfärben.
Z.B. habe ich einen Text und möchte alle Wörter in diesem Text mit INC oder ATT in rot einfärben.
Schon mal besten Dank für Eure Hilfe!
Verfasst: 29.11.2008 10:59
von Pyramide
Verfasst: 29.11.2008 11:02
von DanielHeinrich
Hi!
eventuell willst du dich ja einfach mal mit dem Thema MySQL (siehe z.B.
hier oder
hier) und RegEx (siehe z.B.
hier oder
hier) beschäftigen... ich denke das würde dir inesgesamt am meisten helfen
bis bald
Daniel Heinrich
Verfasst: 29.11.2008 13:07
von Valerion
Code: Alles auswählen
<?php
$neuer_text=str_replace('INC', '<span style="color: #FF0000;">INC</span>INC</span>', $alter_text);
?>
€dit: Bitte, jetzt ohne font

Verfasst: 29.11.2008 13:23
von Pyramide
SelfHTML zu <font> hat geschrieben:Die hier beschriebenen HTML-Elemente sind als deprecated eingestuft, das heißt, sie sollen in Zukunft aus dem HTML-Standard entfernt werden. Da es sich bei diesen Elementen um die schlimmste "Verunreinigung" von HTML als reiner Struktursprache handelt, die bisher passiert ist, gibt es richtige Kampfschriften und Hetzkampagnen gegen die weitere Verwendung dieser Elemente im Web. Diese Elemente stellten eine Notlösung in jener Zeit dar, als HTML noch keine Formatiersprache wie CSS zur Seite stand.
Verfasst: 29.11.2008 14:20
von Miriam
Verfasst: 29.11.2008 18:14
von TLoD
So ich habe das ganze mal probiert.
So ist mein Code:
Code: Alles auswählen
$inhalte1=str_replace('INC', '<span style="color: #b10505;">INC</span>', $inhalte);
echo " <tr>
<td align=\"center\">".date(timeFormat($_SESSION['ID']),strtotime($daten[$i]))."</td>
<td>".$nicks[$i]."</td>
<td>".$inhalte1[$i]."</td>
</tr>";
Und das ist die Ausgabe
INC Die Anzahl der.....
Was muss ich nun anstellen, damit ich mehrere Begriffe einfügen kann? Kann ich in der () durch ein "Komma" die weiteren Begriffe einfach hinzufügen?
Besten Dank!
*EDIT*
Danke hat sich erledigt!
Ich werde gleich meine Lösung posten.
Verfasst: 29.11.2008 18:46
von Pyramide
Beide Parameter von str_replace können ein Array sein (siehe drittes Beispiel im PHP-Handbuch).
Verfasst: 29.11.2008 19:01
von TLoD
So und hier ist die versprochene Lösung:
Code: Alles auswählen
function formatierung($inhalte){
$SearchValues = array(
"INC",
"inc",
"ATT",
"att",
"Raid",
"raid",
"RAID",
"OK",
"ok",
"clean"
);
$ReplacementValues = array(
"<span style=\"color:#b10505\">INC</span>",
"<span style=\"color:#b10505\">inc</span>",
"<span style=\"color:#b10505\">ATT</span>",
"<span style=\"color:#b10505\">att</span>",
"<span style=\"color:#b10505\">Raid</span>",
"<span style=\"color:#b10505\">raid</span>",
"<span style=\"color:#b10505\">RAID</span>",
"<span style=\"color:green\">OK</span>",
"<span style=\"color:green\">ok</span>",
"<span style=\"color:green\">clean</span>"
);
return str_replace($SearchValues, $ReplacementValues, $inhalte);
}
Code: Alles auswählen
echo " <tr>
<td align=\"center\">".date(timeFormat($_SESSION['ID']),strtotime($daten[$i]))."</td>
<td>".$nicks[$i]."</td>
<td>".formatierung($inhalte[$i])."</td>
</tr>";
Werde das ganze bei Gelegenheit noch durch $rows ersetzten, dann ist das ganze leichter administrierbar, aber für den Anfang bin ich erstmal froh, es so hinbekommen zu haben. Ein dickes DANKE an alle, die mir beim Grübeln auf die Sprünge geholfen haben!
Re: best. Woerter formatieren
Verfasst: 30.11.2008 15:36
von Xwitz
Das färbt INC und ATT ein aber nicht alle Wörter mit INC oder ATT, was Du anfänglich wolltest. Was willst Du nun?