| 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: 14 let
|
|||
0