Autor | Zpráva | ||
---|---|---|---|
radas Profil * |
#1 · Zasláno: 21. 5. 2012, 20:50:42
Zdravím,
potřeboval bych nějak nasměrovat jak udělat takový to skript. //prvotni řetězec $string='chodim na tuto diskusi'; //upraveny řetězec řetězec $string2='chodim rád na tuto diskusi'; požadovaný výsledek, který potřebuji získat : chodim rád na tuto diskusi. |
||
Jan Tvrdík Profil |
#2 · Zasláno: 21. 5. 2012, 20:56:22
radas:
A jak to chceš získat? Nahrazením „chodím“ za „chodím rád“? Doplněním „rád“ za první slovo? Nebo jinak? |
||
radas Profil * |
#3 · Zasláno: 21. 5. 2012, 21:09:31
potřeboval bych jen zvýraznit ty změny z druhého stringu vůči prvnímu .. žadné nahrazovaní, žadné doplněni ...
|
||
Jan Tvrdík Profil |
radas:
Moje chyba, špatně jsem si přečetl tvůj první příspěvek. Jaké druhy změn mohou nastat? Vždy se přidává nějaké celé slovo? Vždy se přidává nějaký řetězec? Nebo se může i něco z původního řetězce smazat? |
||
radas Profil * |
#5 · Zasláno: 21. 5. 2012, 21:47:33
vpořádku nic se neděje...
právě že se můžou upravovat oba stringy - přidat, upravi, smazat slova tak jak umi f-ce similar_text vypočitat rozdíl v řetězcích tak toho samého chci dosáhnout i ja, ale s tim že se rozdíly zvýraní... |
||
Jan Tvrdík Profil |
#6 · Zasláno: 21. 5. 2012, 21:54:52
|
||
SeparateSK Profil |
#7 · Zasláno: 21. 5. 2012, 22:03:14
Skús:
<?php function vyznac($prvy,$druhy){ $prvyEx=array(); $druhyEx=array(); $prvyEx=explode(" ",$prvy); $druhyEx=explode(" ",$druhy); $prvySlov=count($prvyEx); $druhySlov=count($druhyEx); $po=0; $text=""; $zI=0; ($prvySlov>=$druhySlov)?$po=$prvySlov:$po=$druhySlov; for($i=0;$i<$po;$i++){ if(!in_array($prvyEx[$zI],$druhyEx)){ if($prvyEx[$zI]!="")$text.="<b>$prvyEx[$zI]</b> "; else { $rozdiel=$prvySlov-$druhySlov; if($rozdiel>0)$rozdiel*=(-1); $zI=$po+$rozdiel-1; $text.="$prvyEx[$zI]"; } } elseif(!in_array($druhyEx[$zI],$prvyEx)){ if($druhyEx[$zI]!="")$text.="<b>$druhyEx[$zI]</b> "; else { $rozdiel=$druhySlov-$prvySlov; if($rozdiel>0)$rozdiel*=(-1); $zI=$po+$rozdiel-1; $text.="$druhyEx[$zI]"; } }else $text.=$druhyEx[$zI]." "; $zI+=1; } return $text; } echo vyznac("chodim na tuto diskusiu","chodim rad na tuto diskusiu"); ?> |
||
Str4wberry Profil |
#8 · Zasláno: 21. 5. 2012, 22:03:21
Když jsem před nějakým časem hledal hotovou funkci pro zobrazení rozdílů v textu, tak se mi nejvíce osvědčilo (přesněji řečeno nejméně neosvědčilo) toto.
|
||
radas Profil * |
#9 · Zasláno: 22. 5. 2012, 14:32:55
SeparateSK:
tak mě to nějak napadlo... jinak všem děkuji za navrhy.. bubu s tim laborovat snad se něčeho dočkám připadně to tu zveřejnim pokud to bude fungovat tak jak potřebuji... |
||
Časová prodleva: 11 let
|
0