Ciao.
Ho necessità di controllare se in un form è inserito un indirizzo di mail corretto.
A parte l'ovvio controllo del carattere @, mi interessa andare a vedere se negli ultimi quattro caratteri dell'indirizzo inserito nel form compaia il . (punto).
Do per scontato (credo sia giusto) che gli indirizzi e-mail nel mondo abbiano una estensione di massimo tre caratteri, quindi prendo gli ultimi quattro caratteri a partire da destra dell'indirizzo e indago se è stato correttamente inserito il carattere . (punto) e non per sbaglio una virgola o quant'altro.
<?php
$indirizzo = "esempio@indirizzzodiesempio.it";
$ultime_quattro = substr($indirizzo, -4); // mi restituisce la sequenza di caratteri o.it
if (eregi(".", $ultime_quattro)){
echo "ok, esiste il punto";
}
else
{
echo "attenzione, punto mancante";
}
?>
il problema è il carattere punto, php lo interpreta come operatore di concatenazione e lo script, pur non andando in errore, risulta scorretto restituendomi sempre VERO.
Ho provato a usare strval() ma i risultati sono identici.
Come posso far considerare il . (punto) dell'indirizzo per quello che è? Cioè un punto dell'indirizzo mail e non l'operatore di concatenazione? Ho provato con i back slash ma niente ...
Un grazie a tutti
Stone
:bye: