Caputo's blog

Informatica, tecnologia, programmazione, fai da te, papercraft e papertoy

Espressioni regolari per gli sviluppatori PHP

Agosto 12th, 2009 by Giovanni Caputo

Vediamo alcuni semplici esempi di espressioni regolari.

Espressione regolare March
foo La stringa “foo”
^foo Le stringhe che iniziano per “foo”
foo$ Le stringe che terminano con “foo”
^foo$ Le parle che contengono “foo”
[abc] a, b, oppure c
[a-z] Ogni lettera minuscola
[^A-Z] Ogni carattere che non è maiuscolo
(gif|jpg) con le parole “gif” oppure “jpeg”
[a-z]+ Una o più caratteri minuscoli
[0-9.-] Ognu numero, punto e simbolo di sottrazione
^[a-zA-Z0-9_]{1,}$ Qualsiasi stringa con almeno una lettera, numero oppure _
([wx])([yz]) wy, wz, xy, oppure xz
[^A-Za-z0-9] Qualsiasi simbolo non numero o lettera
([A-Z]{3}|[0-9]{4}) Parole che contengono tre lettere o quattro numeri

Funzioni PHP

Funzione Descrizione
preg_match() Ricerca string per soddisfano il pattern.  In tal caso restrituisce true.
preg_match_all() Restistuisce tutte le occorrenze della parole che soddisfano il pattern
preg_replace() Effettua la sostituzione sulle stringhe che soffisfano il pattern
preg_split() Funziona come split() efettuato sulla espressione regolare in  input.
preg_grep() Ricerca tutti gli elementi  di un vettore che soffisfano il pattern

Vediamo alcuni esempi

Validare un dominio

$url = "http://komunitasweb.com/";
if (preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i', $url)) {
    echo "Your url is ok.";
} else {
    echo "Wrong url.";
}

Ricercare immagini un un testo HTML

$images = array();
preg_match_all('/(img|src)=("|')[^"'>]+/i', $data, $media);
unset($data);
$data=preg_replace('/(img|src)("|'|="|=')(.*)/i',"$3",$media[0]);
foreach($data as $url)
{
	$info = pathinfo($url);
	if (isset($info['extension']))
	{
		if (($info['extension'] == 'jpg') ||
		($info['extension'] == 'jpeg') ||
		($info['extension'] == 'gif') ||
		($info['extension'] == 'png'))
		array_push($images, $url);
	}
}

Questo post è stato postato mercoledì, Agosto 12th, 2009 at 10:34 nella categoria Programmazione, Siti Web. Puoi seguire tutti i commenti di questo articolo attraverso RSS 2.0 feed. Puoi lasciare un commento, o trackback dal nostro sito.

Lascia un commento

You must be loggati to post a comment.