4x bewertet

2 Teil/ Badwords, Wörter in andere Farbe umwandeln

von CrazyMoFu  |  06.02.2010 um 12:17 h
PHP Anwendungen
Typ: PHP Anwendungen
Stufe:Einfach
Im 2ten teil der Badword-reihe zeige ich euch wie ihr bestimmte Wörter in einer anderen Farbe darstellt.

Gehen wir mal davon aus jemand schreibt in ein Kommentar zu den News Giatu so wird das Wort Giatu z.B. in Blau umgewandelt.

Variante 1.

Bei Variante 1. zeige ich wie ihr das ganze mit einer Textarea darstellen könnt,
stellen wir uns nun vor die Textarea die unten im Code ist wäre ein Kommentarfeld.
Schreiben wir jetzt "Giatu ist toll" dann wird Giatu in rot umgewandelt und auf der ausgabeseite (in delites neue loginreihe von Webvids wäre das die news.php)
würde "Giatu ist toll" stehen, ihr könnt die farben natürlich anpassen!

Jetzt der Code:


<?php

if(isset($_POST['Submit'])) // checken ob das formular abgeschickt
wurde
{
    if(empty(
$_POST['Text'])) // ist das textfeld leer?
    
{
        echo 
'Bitte f&uuml;lle das Feld aus!'// wenn ja das hier
ausgeben
    
}
    else 
// ansonsten
    
{
        
$text $_POST['Text'];
        
$text_out str_replace('Giatu''<font
color="#FF0000">Giatu</font>'
$text); // Wörter die in rot
geschrieben werden sollen
        
echo 'Dein Text war:<br />'.$text_out// den Text ausgeben 
    
}
}
else 
// nicht abgeschickt
{
    echo 
'
        <form name="form" method="post"
action="'
.$_SERVER['PHP_SELF'].'"> 
        <textarea name="Text"></textarea><br /> 
        <input type="submit" name="Submit" value="Abschicken" />'
//
submit button
}

?>




Ich habe das ganze so gemacht das jetzt alles was man eingibt an das Script selber geschickt wird, wenn ihr das Newssystem von Delite benutzt müsste hier:


<form name="form" method="post" action="'.$_SERVER['PHP_SELF'].'">



Das stehen:


 <form name="form" method="post" action="'news.php?id=<?=
zahl
($_REQUEST["id"]) ?>&action=new'">



Den .$_SERVER[′PHP_SELF′]. sagt "ich schick mir selber was" so wäre es leicht ausgedrückt
wenn ihr aber nicht das Newssystem benutzt einfach etwas anderes eingeben, also immer das wohin es geschickt werden soll!

Ich denke der Code ist gut auskommentiert und es dürfte kein Problem sein etwas zu ändern.

Variante 2.
Jetzt kommt Variante 2. die ist evt. leichter, sie ist im grunde aber gleich wie Variante 1.
Hier der Code er müsste sich auch von selbst erklären.


<?php
$search 
= array('giatu''blubb''dummdidu''bla'); // hier halt die
zu suchenden wörter rein
$replace 
= array('<font color="#FF0000">Giatu</font>''<font
color="#FF0000">blubb</font>'
'<font 

color="#FF0000">dummdidu</font>'
'<font color="#FF0000">bla</font>');
// und hier das durch was es 

ersetzt werden soll

$string 
'

willkommen auf giatu bla HAHA // dein seiteninhalt kommt hier rein es
kann auch hier eine Textarea verwendet werden

'


$string_out str_replace($search$replace$string); // mit
str_replace das giatu oder bla bzw. die wörter die oben stehen
ersetzen

echo $string_out// ersetzter string ausgeben

?>



Das wars auch schon noch kurz:

$search = array('giatu', 'blubb', 'dummdidu', 'bla'); // hier halt die
zu suchenden wörter rein


Hier kommen die Wörter rein die in z.B. in rot angezeigt werden sollen
und hier die schriftfarbe ändern und wenn oben wörter geändert wurden das hier auch machen:

$replace = array('<font color="#FF0000">Giatu</font>', '<font
color="#FF0000">blubb</font>', '<font 

color="#FF0000">dummdidu</font>', '<font color="#FF0000">bla</font>');



Ich hoffe das kann jemand gebrauchen.
Wenn es jemand nicht versteht einfach per PN melden.
Bis dann.



3 Kommentare




daser

Kann man sicher gut gebrauchen, sehr gut beschrieben tolles Tutorial. :)
am 06.02.2010 um 14:10 Uhr


SmaX

Ganz gutes Tutorial.. kann man bestimmt mal brauchen xD 6P
am 08.02.2010 um 22:34 Uhr


yummy

Super Tutorial!!
Müsste man auch so umwandeln können, dass man einen eigenen BBCode draus macht.
am 13.02.2010 um 13:51 Uhr