Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Preg_match Rückgabe Sonderzeichen fehlerhaft

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Preg_match Rückgabe Sonderzeichen fehlerhaft

    *Update*

    So habe das Problem gelößt.

    Code:
    // Hole mir Charset der Seite
    preg_match( '@<meta\s+http-equiv="Content-Type"\s+content="([\w/]+)(;\s+charset=([^\s"]+))?@i',
        $content, $matches );
    $encoding = $matches[3];
     
    /* Wird in ISO gewandelt */
    $content = iconv( $encoding, "ISO-8859-1", $content );
     
    $content = strip_tags( $content );
    
    $content = html_entity_decode( $content, ENT_QUOTES, "ISO-8859-1" ); 
    
    $content = implode(" ", preg_split("/\s/", $content,-1, PREG_SPLIT_NO_EMPTY));
    Hi,

    ich suche nach einem Wort in einem großen String, welches relativ zum Wort Tag steht.

    Ich suche in einem 2000 Zeichen großen Sting nach dem Wort

    Tag und extrahiere relativ dazu das Wort.

    Das Wort heißt Herr Ölkes Werner

    Wenn ich anwende:


    PHP-Code:
        $regEx "/Tag(\s+)?(:|\.)?(\s+)?((H|h)err|(F|f)rau)?(\s+)?(\w+(\s+)?\w+)/";
        (
    preg_match($regEx,$content$a
    wird bei der Ausgabe (sie Bild Debugger) das Wort gefunden, aber das Sonderzeichen Ö nicht richtig angezeigt. Siehe Index 10.

    Hat vielleicht Jemand eine Ahnung was ich falsch mache?






    Zweites Problem:

    Habe mal einen Test gemacht, die Sonderzeichen für ü werdern nicht ersetzt.
    Jemand eine Ahnung wieso nicht?

    Im Titel steht Sonderzeichen (ü,ö,ä) werden nicht richtig dargestellt, bleibt nach preg_replace gleich


    PHP-Code:
    $content file_get_contents('http://www.phpforum.de/archiv_31704_Sonderzeichen@@werden@nicht@richtig@dargestellt_anzeigen.html');
    $content strip_tags$content );
    $content implode(" "preg_split("/\s/"$content,-1PREG_SPLIT_NO_EMPTY));
    $zeichenkette =  preg_replace ("/ü/"'Ue'$content);
    print_r($zeichenkette); 

  • #2
    Deutet alles auf die üblichen Probleme mit nicht korrektem bzw. nicht konsequentem Umgang mit der Zeichenkodierung hin.
    [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

    Kommentar


    • #3
      gibt es eine möglichkeit die aktuelle zeichenkodierung herauszufinden oder eine empfehlung welche kodierung ich setzen muss, damit es klappt

      Kommentar


      • #4
        Zitat von omex Beitrag anzeigen
        gibt es eine möglichkeit die aktuelle zeichenkodierung herauszufinden
        Nein, keine zuverlässige.

        Verschiedene Kodierungen überschneiden sich - daher gibt es meist keine zweifelsfreie Möglichkeit der Bestimmung einer konkreten Kodierung.

        oder eine empfehlung welche kodierung ich setzen muss, damit es klappt
        In welcher Kodierung deine Daten vorliegen, solltest du eigentlich wissen ...


        Generell ist UTF-8 heutzutage am empfehlenswertesten.
        [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

        Kommentar


        • #5
          Versuch mal den Modifier "u" (kleingeschrieben) zu benutzen.

          Kommentar


          • #6
            leider funktioniert das nicht, aber wenn ihr euch punkt 2 anschaut sollte es doch funktionieren, sind nur ein paar zeilen code.

            Kommentar

            Lädt...
            X