Probleme mit utf_8 und filtern von Wörtern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme mit utf_8 und filtern von Wörtern

    Hallo und Guten Morgen,

    da ich jetzt schon einige Tage teste und zu keinem weiteren Fortschritt mehr komme, muss ich mich mal an die Experten wenden.

    Ich bin gerade dabei einen Badword - Filter zu erstellen, das klappt auch soweit ganz gut, aber bei ein paar Elementen funktioniert mein preg_replace leider nicht. Ich vermute das es an der Codierung liegt bin da aber noch nicht 100% sicher.

    Vielleicht erst einmal die Basics: Der Header hat folgende Codierung

    HTML-Code:
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    Die Dateien haben auch UTF-8. Ich lese den Text aus Seiten aus mit DOM.

    Dann mache ich folgendes:

    PHP-Code:
    function get_filter($inhalt ){
    $badwords = array('€','&euro;''€','&nbsp;''[…]' ); 
    $badwords_preg implode('|'$badwords );
    $inhalt preg_replace_all("/\b(".$badwords_preg.")\b/i"''$inhalt );
    return 
    $inhalt

    Also der Badword Filter hat noch einige Keywords mehr, aber daran sollte es ja nicht liegen .

    Das Problem ist, das dieser Filter leider die € Zeichen und HTML () Zeichen nicht herausfiltert.
    Ich habe auch schon versucht mit utf8_decode und utf8_encode zu arbeiten, leider ohne Erfolg.

    Hat vielleicht jemand einen Tipp für mich?

    Danke!

  • #2
    Welche Zeichenkodierung hat die PHP-Datei?

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Hallo und danke für deine Antwort.

      Die Datei ist in UTF8 gespeichert (Dreamweaver 3.0). Die Ausgabe ist utf8 und die Klasse hat an sich keine Kodierung wurde aber auch mittels Dreamweaver erstellt (direkt auf dem Server via FTP).

      Gruß

      Kommentar


      • #4
        Dreamweaver 3.0? Die olle Schrömmelgurke? Besorg dir mal einen vernünftigen Editor (Notepad++) und schau dir das noch mal an. Dem DW trau ich nicht. Vor allem, wenn er schon so alt.

        Peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Hallo,

          also ich habe jetzt beide Dateien geöffnet und neu als UTF8 gespeichert. Notepad++ meldete ANSI -> UTF8

          Versucht habe ich auch (hab ich bei google gefunden) mit utf8 decode und encode gespielt leider ohne Erfolg

          Meine Versuche
          PHP-Code:
          $text preg_replace("/\b(".$badwords_preg.")\b/i"''$text);

          $text utf8_decode(preg_replace("/\b(".$badwords_preg.")\b/i"''$text));
          $text utf8_encode(preg_replace("/\b(".$badwords_preg.")\b/i"''$text));
          $text utf8_encode(preg_replace("/\b(".$badwords_preg.")\b/i"''utf8_decode($text))); 
          Ich befürchte da ist noch ein anderer Fehler, aber ich kann wirklich keinen finden

          Kommentar


          • #6
            Probieren geht über Musizieren.

            Probier doch mal den € nicht so '€' sondern so "€" einzugeben, kann nur so ein kleines Problemchen sein.
            php = play home page

            Kommentar


            • #7
              Modifier u schon mal probiert …?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Ist das Eurozeichen in dem Text vllt nicht als € drin sondern als Nr?

                PHP-Code:
                &#8364; 

                Kommentar

                Lädt...
                X