php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.05.2005, 22:03  
Gast
 
Beiträge: n/a
Standard Problem mit Badwordscan

Hallo

Hab mir da einen Badwordscan zusammen geschustert. Leider ersetzt er nur den letzten Eintrag aus der badwords.txt.
PHP-Code:
<?php
// Badwords auslesen
$badwords file("badwords.txt"); // Es wird jedes Wort in eine extra Zeile geschrieben

// Dieser Text soll gescant werden
$text "arsch depp sau";

// Badwordscan anwenden
$text badwordscan($text$badwords);

function 
badwordscan($tx$bw)
  {
  foreach(
$bw as $b)
    {
    
$l strlen($b);
    
$r str_repeat("*", ($l-2));
    
$replace substr_replace($b$r1, -1);
    
$tx preg_replace("/\s$b/i""".$replace$tx);
    }
  return 
$tx;
  }

// Text wird ausgegeben
echo $text;
?>
badwords.txt
Code:
arsch
depp
sau
Such schon seit Wochen nach dem Fehler. Aber ich kann mir das nicht erklären. Also liegt der Fehler bei mir.

Kann mir da jemand helfen?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.05.2005, 02:50  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

das problem wird daran liegen, dass du noch zeilenumbrüche in deinen array's hast. die musst du entfernen. z.b. mit

$b=trim($b)

oder

$b=str_replace(chr(13),"",$b);
__________________
Alpha Centauri ist offline  
Alt 05.05.2005, 03:37  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Tach,
ich kenn mich mit regulären Ausdrücken nicht aus .. aber wenn Du nur etwas simples suchst ...
PHP-Code:
<?php
  
   
function badwordscan($text$_badwords) {
       

       foreach(
$_badwords as $word) {         
           
$replace '****';
           
$text str_replace($word$replace$text);
       }

       return 
$text;
  }

 
   
$_badwords = array('Depp''Idiot');

   
$text 'Du bist ein Depp, ein richtiger Idiot.';

   echo 
badwordscan($text$_badwords);

?>
imported_Ben ist offline  
Alt 05.05.2005, 03:52  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Ben
aber wenn Du nur etwas simples suchst ...
... dann solltest Du wissen, daß bei str_replace() seit langem jeder Parameter ein Array sein kann und demzufolge eine Schleife Mumpitz ist.
 
Alt 05.05.2005, 10:06  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Jo, da haste wohl Recht .
imported_Ben ist offline  
Alt 05.05.2005, 23:21  
Gast
 
Beiträge: n/a
Standard

Danke
trim() war die Lösung

Ich hab absichtlich reguläre Ausdrücke verwendet, weil da nicht bei Gross- und Kleinschreibung unterschieden wird. :wink:

lg
lasalle
 
Alt 06.05.2005, 03:29  
Gast
 
Beiträge: n/a
Standard

http://de3.php.net/str_ireplace (PHP5)
 
Alt 06.05.2005, 15:43  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von meikel
http://de3.php.net/str_ireplace (PHP5)
Mein Hoster hat leider noch kein Php5
 
Alt 06.05.2005, 16:52  
Gast
 
Beiträge: n/a
Standard

Hat auch sein gutes, da (wie wir in einem anderen Thema festgestellt hatten) str_ireplace eine "leichte" Macke hat.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Sessions Problem StephenKing PHP Tipps 2008 3 16.10.2007 08:30
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
[Erledigt] Problem bei Massenmails versenden mit der Funktion mail PHP-Fortgeschrittene 3 19.01.2005 13:36
[Erledigt] Problem mit Übergabe einer Klasse in PHP4 PHP-Fortgeschrittene 10 08.01.2005 21:00
Problem mit Weiterleitung PHP Tipps 2004-2 16 22.12.2004 17:49
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
[Erledigt] PHP Upload (Master Value/Local Value Problem) PHP-Fortgeschrittene 5 23.11.2004 07:21
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
[Erledigt] Problem mit Timestamp! PHP Tipps 2004 24 08.06.2004 19:51
Login Problem PHP Tipps 2004 4 04.06.2004 18:46
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:14 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.