Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more. :: Mappa del sito
Tutorials & Scripts, PHP, Linux and more.

Home :: Php :: Indice Php

Le funzioni per le espressioni regolari: POSIX estesa

Inserito il: 13-12-2005


Ci occuperemo ora di sette funzioni native del PHP che potremo sfruttare per le nostre operazioni di pattern matching e pattern sobstitution. Queste funzioni rientrano nella tipologia (classe) POSIX estesa.
  • eregi(): da utilizzare per le operazioni di ricerca di sotto stringhe all'interno di sequenze di caratteri.
  • ereg(): permette di svolgere le stesse operazioni consentite da ereg ma è inoltre case sensitive, cioè può distinguere i caratteri tra minuscoli e maiuscoli.
  • eregi_replace(): consente di ricercare una sotto-stringa all'interno di una stringa principale e di sostituire la prima nella seconda con una terza stabilita arbitrariamente dallo sviluppatore.
  • ereg_replace(): ha una funzione analoga a quella di eregi_replace ma è inoltre case sensitive.
  • spliti(): suddivide una stringa in una matrice tramite le espressioni regolari
  • split(): ha la stessa funzione di spliti() ma è inoltre case sensitive.
  • sql_regcase(): genera un'espressione regolare per riconoscimenti senza distinguere tra maiuscole e minuscole
Passiamo ora a qualche esempio pratico. Cominciamo con eregi() e osserviamone i risultati:
<?
$str = "Sequenza di caratteri";

if (eregi("sequenza", $str))
{
echo "Trovato!";
}else{
echo "Non trovato!";
}
?>
eregi() cerca nel valore stringa della variabile "$str" la sotto-stringa "sequenza"; dato che questa funzione non distingue tra lettere maiuscole e minuscole, essa ignora la differenza tra "Sequenza" e "sequenza" e trova il parametro desiderato restituendo "Trovato!".

Se sostituissimo eregi() con ereg() l'output sarebbe invece "Non trovato!", infatti, questa seconda funzione è case sensitive, quindi non rileva il parametro desiderato nella stringa proposta.

Passiamo ora a eregi_replace():
<?
$str = "Sequenza di caratteri";
$sostituisci = "sequenza";
$sostituto = "Insieme";
echo eregi_replace($sostituisci, $sostituto, $str);
?>
L'output del nostro piccolo script sarà "Insieme di caratteri."; in pratica eregi_replace() accetta tre parametri: la sotto-stringa da sostituire (nel nostro caso la variabile "$sostituisci"), la sotto-stringa sostitutiva ("$sostituto") e la stringa principale su cui deve essere operata la modifica ("$str").
Una volta rilevato il primo parametro nel terzo, il primo viene sostituito dal secondo.
Se avessimo utilizzato ereg_replace() invece di eregi_replace(), il risultato del nostro script sarebbe stato una stampa a video del valore della variabile "$str"; infatti ereg_replace(), in quanto case sensitive, avrebbe rilevato la differenza tra tra "Sequenza" e "sequenza" e non avrebbe operato la sostituzione.

Anche per quanto riguarda la funzione spliti() proponiamo prima di tutto un breve esempio pratico:
<?
$str = "duralavita";
$array = spliti ("La", $str, 2);
print_r($array);
?>
Il cui risultato sarà:
Array ( [0] => dura [1] => vita 

)
Nell'esempio, spliti() suddivide una stringa utilizzando la sotto-stringa "La" come separatore; questa funzione accetta tre parametri: il separatore, la stringa da suddividere e un numero intero con funzione di limit.
Per poter utilizzare split() invece di spliti() ed ottenere il medesimo risultato, il separatore avrebbe dovuto essere "la" e non "La", dato che split() è case sensitive, questo per evitare di avere come risultato un array composto da un solo valore stringa non separato:
Array ( 

[0] => duralavita )
Analizziamo infine la funzione svolta da sql_regcase():
<?
echo sql_regcase("Sequenza");
?>
L'output ottenuto sarà il seguente:
[Ss][Ee][Qq][Uu][Ee][Nn][Zz][Aa]
sql_regcase() restituisce un'espressione regolare in grado di riconoscere un parametro stringa a prescindere dal fatto che le lettere siano maiuscole o minuscole.
Viene quindi generata una stringa composta da ciascun carattere alfabetico riportato tra parentesi quadre; le parentesi contengono il singolo carattere in formato maiuscolo e minuscolo.

Attenzione: questo articolo è stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione, anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.


Indice Php
Apache (19)
CGI (11)
Java (12)
Jsp (16)
Linux (18)
Manuali (6)
Perl (12)
PostgreSQL (12)
Tomcat (10)
Unix (12)
Libri (0)
Forum



Esportare ed importare dati da MySQL utilizzando dei file
Un sistema estremamente pratico per creare delle copie di sicurezza dei nostri database da MySQL è quello di salvare le... Leggi l'articolo


Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti

Mrwcorsi.it
Mrwebmaster.it
4 You Gratis.it
Ceptive.it
Giochi Gratis
Pierotofy.it
Giornale Webmaster
Manuali
Morpheusweb.it
SEO Directory
Visual designer
Forum per Webmaster




Pagina caricata in 0.0001 secondi. | Per informazioni | ©CG di Claudio Garau P.IVA 03219430927 RSS