kostenloser Webspace werbefrei: lima-city


Unterschied

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    samson

    samson hat kostenlosen Webspace.

    hallo,
    ich habe ein Problem, ich will machen das wenn ich 2 Strings habe
    z.b.
    $str1="Hallo da ist eine Biene";
    $str2="Hallo das ist eine schöne Biene";

    das, dass "schöne" rot geschrieben wird. Mein Problem ist nicht der HTML Code <font> sondern das soll Variable gemacht werden alle Wörter die in $str2 sind aber in $str1 nicht an der gleichen Stelle sind/nicht vorhanden/verschoben sollen eingefärbt werden.

    Danke
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. m*****a

    Den Code müsste ich jetzt erst selbst zusammenschnipseln, aber hier mein Lösungsansatz:

    Die einzelnen Wörter der Strings mittels der Funktion explode() anhand der Leerzeichen trennen und in ein Array laden, dann die zwei Arrays vergleichen.

    Hilft das weiter?
  4. Autor dieses Themas

    samson

    samson hat kostenlosen Webspace.


    mirella schrieb:
    Den Code müsste ich jetzt erst selbst zusammenschnipseln, aber hier mein Lösungsansatz:

    Die einzelnen Wörter der Strings mittels der Funktion explode() anhand der Leerzeichen trennen und in ein Array laden, dann die zwei Arrays vergleichen.

    Hilft das weiter?


    Ich verstehe was du meinst, leider weiß ich aber nicht wie mir das hilft nur das geänderte einzufärben.

    Beitrag geaendert: 11.12.2006 18:14:38 von samson
  5. m*****a

    Hm, das erste Wort des ersten Arrays mit dem ersten Wort des zweiten Arrays vergleichen. Wenn gleiches Wort -> normal ausgeben, wenn anderes Wort -> einfärben.
  6. Autor dieses Themas

    samson

    samson hat kostenlosen Webspace.

    und was mach ich wenn ich 1 wort irgenwo einfüge. z.b.:

    $str1=" Hallo(g) ihr(g) seid(g) doch(g) lustig(u), weil(u) ich(u)...";
    $str2=" Hallo(g) ihr(g) seid(g) doch(g) sehr(u) lustig(u), weil(u) ich(u)...";


    Hallo g = gleich
    u= ungleich

    ich hoffe du hast verstanden was ich meine.

    Beitrag geaendert: 12.12.2006 18:50:31 von samson
  7. Der Nachteil an der folgenden Variante ist, dass nicht auch noch die Position berücksichtigt wird. Für deine Zwecke dürfte das trotzdem reichen.
    <?php
      $str1       = 'Hallo das keks ist eine Biene';
      $str2       = 'Hallo das ist eine schöne test Biene';
    
      $str1_array = explode(' ',$str1);
      $str2_array = explode(' ',$str2);
    
      $diff = array_values(array_diff($str2_array,$str1_array));
    
      $search  = array(); 
      $replace = array();
    
      foreach($diff as $value) $search[] = $value;
      foreach($search as $value) $replace[] = '<span style="color:red;">'.$value.'</span>';
      
      $str2 = str_replace($search,$replace,$str2);
    
      $diff = array_values(array_diff($str1_array,$str2_array));
    
      $search  = array(); 
      $replace = array();
    
      foreach($diff as $value) $search[] = $value;
      foreach($search as $value) $replace[] = '<span style="color:red;">'.$value.'</span>';
    
      $str1 = str_replace($search,$replace,$str1);
    
      print $str1;
      print "\n<br />\n";
      print $str2;  
    
      //Ausgabe:
      //Hallo das <span style="color:red;">keks</span> ist eine Biene
      //<br />
      //Hallo das ist eine <span style="color:red;">schöne</span> <span style="color:red;">test</span> Biene
    ?>
  8. Autor dieses Themas

    samson

    samson hat kostenlosen Webspace.

    hi,
    ich kann nur Danke sagen, hab aber noch ein Problem, bei längeren Texten macht er ein Wort mal und ein nicht(wo immer das gegenteil passieren sollte) eigentlich färbt er öfters mal ein einzelnes Wort ein das er nicht einfärben soll.
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!