Testare le RegEx

http://www.regexr.com è uno strumento che per un programmatore è un vero e proprio salvavita: un sito che permette di testare in diretta le proprie espressioni regolari, visualizzando il risultato mentre le si modifica e affina.

Inserita la propria RegEx, nel campo sottostante si colorano i blocchi di testo che verificano l’espressione (ovvero dove c’è un match) e, portandosi con il mouse sopra di essi, vengono visualizzati anche gli eventuali gruppi catturati.

Nel menù di sinistra troviamo anche alcuni aiuti come la lista degli elementi utilizzabili in una espressione regolare, alcuni esempi e le RegEx più apprezzate dalla community.

RegEx per validare un indirizzo email (in php e in javascript)

[A-z0-9\.\+_-]+@[A-z0-9\._-]+\.[A-z]{2,6}

Magari non intuitiva ma neanche particolarmente complessa la RegEx da utilizzare per validare un indirizzo email (ad esempio inserito dall’utente che compila un form html).

In sostanza questa espressione regolare verifica che prima della chiocciola ci si un blocco di caratteri alfanumerici (con l’aggiunta eventuale di “.”, “+”, “_” e “-“), che dopo di essa invece ci sia almeno un blocco di caratteri alfanumerici (più “_” e  “-“),  separati da un “.”, ed infine un’estensione di almeno due lettere.

Continua a leggere

Ottenere il dominio da un url con php

Fortunatamente non servono regular expression o complessi passaggi ma ce la possiamo cavare con una sola istruzione php, ovvero parse_url.

Questa istruzione permette di analizzare un url dato ed ottenere la parte di cui necessitiamo andandola a specificare come secondo parametro, come, ad esempio, l’host, il path e la query string.

Quindi, tornando alla domanda iniziale, ecco l’istruzione completa per ottenere da un url il dominio:

$host = parse_url($url,PHP_URL_HOST);

Il dettaglio completo di tutti i parametri utilizzabili con questa istruzione si trova sulla guida ufficiale: http://php.net/manual/en/function.parse-url.php