Salve, qualcuno conosce una funzione capace di confrontare due stringhe di
testo e restituirne le differenze? Mi serve per una funzione in Java Script ma
vanno bene anche altri linguaggi, provo io a riprodurle in Js... Grazie!
Printable View
Salve, qualcuno conosce una funzione capace di confrontare due stringhe di
testo e restituirne le differenze? Mi serve per una funzione in Java Script ma
vanno bene anche altri linguaggi, provo io a riprodurle in Js... Grazie!
mmm dovresti essere più specifico.
Quali tipi di differenze??
Lunghezza? Alcuni caratteri specifici? Alto basso?
Ciaooo!!!!!
in php è possibile verificare che due stringhe siano uguali con:
La funzione restituisce "Le stringhe sono uguali" se le due stringhe sono uguali,"Le stringhe sono diverse" se diverse e nel secondo caso il numero dei caratteri di differenza.Codice PHP:<?
$stringa1="stringa";
$stringa2="stringa2";
$confronta = strcmp($stringa1,$stringa2);
$caratteri1 = strlen($stringa1);
$caratteri2 = strlen($stringa2);
if ($confronta=="0")
echo "Le stringhe sono uguali";
if ($confronta=="-1")
echo "Le stringhe sono diverse,la prima stringa è composta da $caratteri1 caratteri,la seconda da $caratteri2 caratteri";
?>
Ciao!
Qualche precisazione... in PHP la funzione strcmp mi pare faccia questo: restituisce 0 se le due stringhe sono uguali, un numero negativo (non necessariamente -1) se la prima è lessicograficamente anteriore alla seconda, un numero positivo (non necessariamente 1) se la prima è lessicograficamente posteriore alla seconda. Questo, almeno, era quello che faceva la funzione C di stesso nome dalla quale questa deriva.
Quindi, per confrontare le strighe, questo è il codice corretto:Poi, sull'utilità di strcmp, ci sarebbe alquanto da discutere... visto che mi risulta che "ZORRO" sia anteriore ad "ape" solo perché vengono confrontati i codici ASCII o Unicode dei primi caratteri (e la Z maiuscola precede la a minuscola!)...Codice PHP:<?php
$val = strcmp ($str1, $str2)
if ($val > 0)
echo ("$str1 è posteriore a $str2");
else if ($val < 0)
echo ("$str1 è anteriore a $str2");
else
echo ("$str1 e $str2 sono uguali");
Stammi bene...
Ora mi spiego meglio:
supponiamo di avere due url:
http://www.ciao.it/dir1/dir_2/dir3/nome_del_file.abc
http://www.byebye.it/dir_7/dir2/nome_file.def
mi servirebbe una funzione che confronti i due url e mi restituisca in
due array le differenze ovvero:
Originale[0]="ciao";
Nuovo[0]="byebye";
Originale[1]="dir1";
Nuovo[1]="dir_7";
e così via...
se devi controllare le url prova la funzione di php parse_url().
Jostock sai dove e soprattutto se è possibile trovare il sorgente della suddetta funzione? Potrebbe essere adattata al mio caso ma devo comunque trasportarla in javascript e senza sorgente... :roll:Citazione:
Originalmente inviato da jostock
controlla qui: http://lxr.php.net/source/php-src/ex...ic_functions.c
Probid ti ringrazio ma il problema è che pur avendo capito come funziona in php devo riprodurla in javascript pertanto avrei bisogno del sorgente della suddetta funzione... anche se immagino non sia disponibile sul web... :crycry:
Edit: (by Jostock)
Ora mi scarico la pagina e me la studio un pò...Citazione:
Originalmente inviato da jostock
Grazie ragà :wink:
non fare UP!
Non è stato volontario, i due post si sono accodati perchè il primo l'avevo scritto per Probid ma un attimo prima hai inserito il tuo post ed è finito in fondo e non me ne sono reso conto altrimenti l'avrei semplicemente modificato.
Comunque ho trovato il sorgente della funzione che mi hai indicato:
http://lxr.php.net/source/php-src/ex...dard/url.c#334
ma purtroppo non era di certo quello che mi aspettavo...
non è una funzione a se stante ma frutto di interazione di altre
quindi risalire al suo codice funzionale sarebbe davvero complesso... :crycry:
credo proprio che dovrò scrivermela da solo, purtroppo però è il tempo che mi manca...