Unterschied
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anhand
array
ausgabe
beitrag
biene
folgenden variante
funktion
gegenteil
laden
lsungsansatz
meinst
nachteil
schne biene
schne test
stellen
string
variable
vergleich
verstehe
zweck
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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 -
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.
-
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 -
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 ?>
-
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. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage