ruffrider: Stringvergleich nicht möglich wegen Umlaut?

Einen wunderschönen Sonntag wünsche ich,

folgendes:
ich führe grade einen Stringvergleich durch, der sieht in etwa so aus:

if($erg['name']=='Löschen')
{
.
.
.
}

Der zu prüfende String kommt aus der Datenbank und ich möchte nun gucken ob "Löschen" drinsteht, selbst wenn es so ist, wird das nicht erkannt, da es mit allem anderen klappt tippe ich auf den Umlaut. Weiß jemand ob das so ist und wie man das umgeht?

have a nice day.

  1. Hallo,

    ob es am Umlaut liegt, kann ich nicht sagen, aber hier eine Technik, das Problem zu umgehen:

    $html_1 = array("Ä","Ö","Ü","ä","ö","ü","ß","„","“","€","·");
      $html_2 = array("Ä","Ö","Ü","ä","ö","ü","ß","„","“","€","&#8226");

    // UMLAUTE UMSETZEN:
    for( $x = 0; $x < count($html_1); $x++ ){
       $erg['name']    = str_replace( $html_1[$x], $html_2[$x], $erg['name'] );
    }
    if($erg['name']=='Löschen')

    Gruß aus Worms, Kalle

    1. Hallo Kalle,

      $html_1 = array([...]);
        $html_2 = array([...]);
      for( $x = 0; $x < count($html_1); $x++ ){
         $erg['name']    = str_replace( $html_1[$x], $html_2[$x], $erg['name'] );

      die Schleife ist überflüssig, str_replace() kann man als 1. und 2. Parameter auch je eine Array übergeben:
       $html_1 = array(...);
       $html_2 = array(...);
       $var = str_replace($html_1,$html_2,$var);
      funktioniert genauso. (siehe auch http://de.php.net/str_replace)

      Grüße aus Nürnberg
      Tobias

      --
      Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
  2. Hallo ruffrider,

    if($erg['name']=='Löschen')

    Was gibt
     echo '"'.$erg['name'].'"';
    aus? Steht da in den Anführungszeichen wirklich nur 'Löschen'?

    Der zu prüfende String kommt aus der Datenbank und ich möchte nun gucken ob "Löschen" drinsteht, selbst wenn es so ist, wird das nicht erkannt,

    wenn du wissen willst, ob ein bestimmter String in einem anderen enthalten ist, geht das nicht mit einem einfachen Vergleich, da musst du schon eine String-Funktion (->http://de3.php.net/ref.strings) bemühen.

    da es mit allem anderen klappt tippe ich auf den Umlaut.

    was verstehst du unter "allem anderen"?

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|