str replace auf ganze Wörter anwenden

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: str replace auf ganze Wörter anwenden

Beitrag von Pyramide »

TLoD hat geschrieben:

Code: Alles auswählen

        function formatierung($inhalte){

        // Search phrase pieces

            $SearchValues[] = '#\bINC\b#i';
            $SearchValues[] = '#\binc\b#i';

        // Replace phrase pieces

                $ReplacementValues[] = '<b><span style=\'color:#b10505\'>INC</span></b>';
                $ReplacementValues[] = '<b><span style=\'color:#b10505\'>INC</span></b>';

        return preg_replace($SearchValues, $ReplacementValues, $inhalte);
    }
Der Code funktioniert einwandfrei und verursacht keine Fehlermeldung. Solange du uns nicht den Code zeigst, der auch die Fehlermeldung verursacht, werden wir dir nicht helfen können.

Oder fährst du auch zu deinem Autohändler und sagst "mein Auto macht auf der Autobahn immer so komische Geräusche. Ich habe Ihnen hier mal das Auto meines Nachbarn mitgebracht, damit Sie sich das angucken können."? :roll:
KB:knigge
Benutzeravatar
TLoD
Mitglied
Beiträge: 161
Registriert: 04.08.2007 14:57
Wohnort: Nürnberg
Kontaktdaten:

Re: str replace auf ganze Wörter anwenden

Beitrag von TLoD »

So ich habe den Fehler gefunden.
Kann es sein das ich bei den SearchValues keine Sonderzeichen verwenden darf?
Ich wollte natürlich meine Smilies auch aus den Texten filtern lassen und ersetzen.

*EDIT*

So nun habe ich eine funktionierende Lösung gefunden. Weiß nicht ob es die beste ist aber es funzt wenigstens erstmal...

Code: Alles auswählen

function formatierung($inhalte){

        // Text

            $inhalte = preg_replace('#\bINC\b#i', '<b><span style=\'color:#b10505\'>INC</span></b>', $inhalte);
            $inhalte = preg_replace('#\binc\b#i', '<b><span style=\'color:#b10505\'>INC</span></b>', $inhalte);
            $inhalte = preg_replace('#\bATT\b#i', '<b><span style=\'color:#b10505\'>ATT</span></b>', $inhalte);
            $inhalte = preg_replace('#\batt\b#i', '<b><span style=\'color:#b10505\'>ATT</span></b>', $inhalte);;
            $inhalte = preg_replace('#\bRaid\b#i', '<b><span style=\'color:#b10505\'>RAID</span></b>', $inhalte);
            $inhalte = preg_replace('#\braid\b#i', '<b><span style=\'color:#b10505\'>RAID</span></b>', $inhalte);
            $inhalte = preg_replace('#\bRAID\b#i', '<b><span style=\'color:#b10505\'>RAID</span></b>', $inhalte);
            $inhalte = preg_replace('#\bOK\b#i', '<b><span style=\'color:green\'>OK</span></b>', $inhalte);
            $inhalte = preg_replace('#\bok\b#i', '<b><span style=\'color:green\'>ok</span></b>', $inhalte);
            $inhalte = preg_replace('#\bclean\b#i', '<b><span style=\'color:green\'>clean</span></b>', $inhalte);
            $inhalte = preg_replace('#\bClean\b#i', '<b><span style=\'color:green\'>clean</span></b>', $inhalte);
            $inhalte = preg_replace('#\bARKON\b#i', '<b><span style=\'color:#ffa300\'>ARKON</span></b>', $inhalte);
            $inhalte = preg_replace('#\bARK\b#i', '<b><span style=\'color:#ffa300\'>ARKON</span></b>', $inhalte);
            $inhalte = preg_replace('#\bArk\b#i', '<b><span style=\'color:#ffa300\'>ARKON</span></b>', $inhalte);
            $inhalte = preg_replace('#\bark\b#i', '<b><span style=\'color:#ffa300\'>ARKON</span></b>', $inhalte);
            $inhalte = preg_replace('#\bInva\b#i', '<b><span style=\'color:#ffa300\'>INVA</span></b>', $inhalte);
            $inhalte = preg_replace('#\binva\b#i', '<b><span style=\'color:#ffa300\'>INVA</span></b>', $inhalte);
            $inhalte = preg_replace('#\bINVA\b#i', '<b><span style=\'color:#ffa300\'>INVA</span></b>', $inhalte);
            $inhalte = preg_replace('#\bnicht erreicht\b#i', '<b><span style=\'color:#ffa300\'>nicht erreicht</span></b>', $inhalte);

	// Smilies

  	    $inhalte = str_replace(':)', '<img title=\'Smile\' src=\'/sl/images/smilies/smile.gif\'>', $inhalte);
	    $inhalte = str_replace('*g*', '<img title=\'Smile\' src=\'/sl/images/smilies/smile.gif\'>', $inhalte);
            $inhalte = str_replace(':P', '<img title=\'Tongue\' src=\'/sl/images/smilies/tongue.gif\'>', $inhalte);
  	    $inhalte = str_replace(':p', '<img title=\'Tongue\' src=\'/sl/images/smilies/tongue.gif\'>', $inhalte);
  	    $inhalte = str_replace(':(', '<img title=\'Sad\' src=\'/sl/images/smilies/sad.gif\'>', $inhalte);
            $inhalte = str_replace(':|', '<img title=\'Sad\' src=\'/sl/images/smilies/sad.gif\'>', $inhalte);
	    $inhalte = str_replace(':D', '<img title=\'Biggrin\' src=\'/sl/images/smilies/biggrin.gif\'>', $inhalte);
            $inhalte = str_replace('*fg*', '<img title=\'Biggrin\' src=\'/sl/images/smilies/biggrin.gif\'>', $inhalte);
  	    $inhalte = str_replace(';)', '<img title=\'Wink\' src=\'/sl/images/smilies/wink.gif\'>', $inhalte);
  	    $inhalte = str_replace('O_O', '<img title=\'Shocked\' src=\'/sl/images/smilies/shocked.gif\'>', $inhalte);
	    $inhalte = str_replace('*finger*', '<img title=\'FU\' src=\'/sl/images/smilies/finger.gif\'>', $inhalte);
            $inhalte = str_replace('keks', '<img title=\'Keks\' src=\'/sl/images/smilies/keks.gif\'>', $inhalte);
  	    $inhalte = str_replace('lol', '<img title=\'LoL\' src=\'/sl/images/smilies/auslachen.gif\'>', $inhalte);
  	    $inhalte = str_replace('gayfight', '<img title=\'Gayfight\' src=\'/sl/images/smilies/gayfight.gif\'>', $inhalte);
            $inhalte = str_replace('kotz', '<img title=\'Kotz\' src=\'/sl/images/smilies/kotz.gif\'>', $inhalte);
  	    $inhalte = str_replace('sabber', '<img title=\'Sabber\' src=\'/sl/images/smilies/sabber.gif\'>', $inhalte);
            $inhalte = str_replace('wallbash', '<img title=\'Wallbash\' src=\'/sl/images/smilies/wallbash.gif\'>', $inhalte);

            return $inhalte;

    }
LG Marc

Wir leben alle unter dem gleichen Himmel, aber wir haben nicht alle den gleichen Horizont.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: str replace auf ganze Wörter anwenden

Beitrag von gn#36 »

Du darfst Sonderzeichen benutzen, allerdings gibt es bei Regulären Ausdrücken einige mit besonderer Bedeutung. Dazu gehören z.B.

Code: Alles auswählen

()[]{}-\$^*+.?
Wenn du die als Zeichen drin haben willst, dann musst du sie mit einem Backslash versehen, aus
Das Auto kostet $5000
wird also
Das Auto kostet \$5000
.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: str replace auf ganze Wörter anwenden

Beitrag von Pyramide »

Oder du verwendest [php:preg_quote]
KB:knigge
Antworten

Zurück zu „Coding & Technik“