Leonardo.it I say blog!
  • 24
  • set
  • 2009

Javascript strlen ? Convertire funzioni Php in Javascript

Di Redazione, in Javascript, Php.

Sul blog di Kevin Vanzonneveld, è nato, da un pò di tempo, un progetto molto interessante : ‘Porting PHP to Javascript’

Il nome del Progetto è abbasanza esplicativo e mira esclusiavamente a colmare un gap esistente tra le funzioni che abbiamo a disposizione in PHP e quelle su JS. In pratica, in molti siamo ben abili a maneggiare ed utilizzare funzioni in php, ma non sempre abbiamo a disposizione le stesse identiche funzioni in Javascript che è carente in alcuni aspetti.

Lo scopo che si cerca di raggiungere con tale progetto è proprio riscrivere le principali e più utilizzate funzioni del php in js, salvare tutto il codice in un file php.js da avere sempre a disposizione per sfruttarlo quando occorre.

Logicamente trattasi di un proggetto aperto e, chiunque intenda collaborare con commenti o scrivendo direttamente codice, è ben accetto. Sul blog di Kevin segnalato a fine articolo trovate tutte le informazioni necessarie.

javascript-strlen

Un esempio abbastanza ben esplicito di come si stia pensando di lavorare è dato dalla funzione PHP strlen().

La sua descrizione è la seguente :

[sourcecode language='php']
int strlen( string string )
[/sourcecode]

In pratica restituisce la lunghezza di una stringa passata come parametro. Se la stringa è vuota restituisce il valore 0. Volendo aderire al progetto, si è cercato di ‘convertire’ questa comoda funzione in javascript inglobandola, poi, nel file php.js così da averla sempre a disposizione.

Ecco la traduzione della funzione strlen in javascript :

[sourcecode language='php']
function strlen (string) {
// http://kevin.vanzonneveld.net
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: Sakimori
// + input by: Kirk Strobeck
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + bugfixed by: Onno Marsman
// + revised by: Brett Zamir (http://brett-zamir.me)
// % note 1: May look like overkill, but in order to be truly faithful to handling all Unicode
// % note 1: characters and to this function in PHP which does not count the number of bytes
// % note 1: but counts the number of characters, something like this is really necessary.
// * example 1: strlen(‘Kevin van Zonneveld’);
// * returns 1: 19
// * example 2: strlen(‘A\ud87e\udc04Z’);
// * returns 2: 3

var str = string+”;
var i = 0, chr = ”, lgth = 0;

var getWholeChar = function (str, i) {
var code = str.charCodeAt(i);
var next = ”, prev = ”;
if (0xD800 <= code && code <= 0xDBFF) { // High surrogate (could change last hex to 0xDB7F to treat high private surrogates as single characters)
if (str.length <= (i+1)) {
throw 'High surrogate without following low surrogate';
}
next = str.charCodeAt(i+1);
if (0xDC00 > next || next > 0xDFFF) {
throw ‘High surrogate without following low surrogate’;
}
return str.charAt(i)+str.charAt(i+1);
} else if (0xDC00 <= code && code <= 0xDFFF) { // Low surrogate
if (i === 0) {
throw 'Low surrogate without preceding high surrogate';
}
prev = str.charCodeAt(i-1);
if (0xD800 > prev || prev > 0xDBFF) { //(could change last hex to 0xDB7F to treat high private surrogates as single characters)
throw ‘Low surrogate without preceding high surrogate’;
}
return false; // We can pass over low surrogates now as the second component in a pair which we have already processed
}
return str.charAt(i);
};

for (i=0, lgth=0; i < str.length; i++) {
if ((chr = getWholeChar(str, i)) === false) {
continue;
} // Adapt this line at the top of any loop, passing in the whole string and the current iteration and returning a variable to represent the individual character; purpose is to treat the first part of a surrogate pair as the whole character and then ignore the second part
lgth++;
}
return lgth;
}
[/sourcecode]

Visita il blog di Kevin Vanzonneveld

Termini legati all'articolo: , , .
Altri articoli:

Articoli correlati a "Javascript strlen ? Convertire funzioni Php in Javascript"

  • Addon per Firefox

    Con questo articolo voglio fare una lista degli addons per il noto browser casa Mozilla che ritengo più utili, se ne conoscete altri che meritino


  • La matematica con Java

    Java mette a disposizione dell'utente alcune funzioni matematica, tramite la classe java.lang.Math, tali funzioni quindi, sono raggiungibile tramite la maggior parte dei casi, esse ricevono


  • Cos'è Jquery

    Jquery è un software che permette di creare delle animazioni in flash e che permette di migliorare l’indicizzazione della pagine in tempi minori e creare


  • Icone Natale gratis

    Web Design Ledger propone 23 set di icone natalizie davvero ottimi. La raccolta è molto variegata e la collezione nel suo insieme garantisce la soddisfazione di


  • Download e convertire video da facebook

    Prima di tutto c'è da premettere che i video di facebook per motivi di privacy, non possono essere scaricati e non sarebbe possibile convertirli in



Commenti:

Commenta su "Javascript strlen ? Convertire funzioni Php in Javascript"




Il network di TipOff!


Gallery

convertire file online
trovare numero telefonico
calcolare codice fiscale
curriculum vitae
come comprare su ebay
impostare account su mail
da megavideo a megaupload
ebay proposta d'acquisto
gif animate, come creare gif animate
proteggere rete wi-fi
cambiare skin amsn