Traitemer des dates :

//conversion unix en date
date('(G)H: i:     s        (j)d/(n)m/(y)Y ',$timestamp);
//    heure:minute:seconde  jour/mois/année   ()=sans zero initiaux
date('N          W             U    c',$timestamp);
//   joursemaine semaineannée  unix ISO-8601
//conversion date en unix
$timestamp=mktime($heure,$minutes,$secondes,$mois,$jour,$annee))
//gestion de dates dans mySQL
$date_MYSQL=date('Y-m-d G:i:s',$timestamp);
$timestamp=strtotime($date_MYSQL);
//travail sur les dates
$timestamp=strtotime("+6 day",$timestamp);

Obtenir le résumé d'un texte UTF-8 (sans couper les mots) :

function utf8summary($str,$l) {
   if (mb_strlen($str) > $l && $l) {
      $s = preg_split('/([\s]+)/u',$str,-1,PREG_SPLIT_DELIM_CAPTURE);
      $res = '';
      $L = 0;
      if (mb_strlen($s[0]) >= $l) {
         return mb_substr($s[0],0,$l);
      }
      foreach ($s as $v) {
      $L = $L+strlen($v);
         if ($L > $l) {
            break;
         } else {
         $res .= $v;
         }
      }
      return trim($res).'[...]';
   }
   return $str;
}

Envoyer un mail en texte9HTML en UTF-8 :

function mail_html_utf8($dest,$sujet,$contenu,$cc='',$bcc='') {
   $eol=strtoupper(substr(PHP_OS,0,3) == 'WIN') ? "\r\n" : "\n";
   //message en HTML
   $message = "--main boundary".$eol;
   $message .= "Content-Type: text/html; charset=UTF-8".$eol;
   $message .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
   $message .= $contenu.$eol.$eol;
   //message en texte
   $message  = "--main boundary".$eol;
   $message .= "Content-Type: text/plain; charset=UTF-8".$eol;
   $message .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
   $message .= strip_tags($contenu).$eol.$eol;
   //fin messages alternatifs
   $message .= "--main boundary--".$eol;
   //gestion des cc/bcc
   $cc=($cc!='')?'Cc: '.$cc.$eol:'';
   $bcc=($bcc!='')?'Bcc: '.$bcc.$eol:'';
   //envoi du mail (fonction mail)
   $mailsend = mail($dest,'=?UTF-8?B?'.base64_encode($sujet).'?=',$message,
   'From:'.$config['email_sender'].$eol.$cc.$bcc.
   'Reply-To: '.$config['email_sender'].$eol.
   'X-Mailer: PHP'.phpversion().$eol.
   'MIME-Version: 1.0'.$eol.
   'Content-type: multipart/alternative;  boundary="main boundary"');
   return $mailsend;
}

Connexion à une base de donnée :

//proteger texte
function db_esc($txt) {
   global $db;
   return mysql_real_escape_string($txt,$db);
}
//connection à la base
function db_connect($file, $line, $host, $port, $user, $password, $dbname) {
   if (!function_exists('mysql_connect'))
   die('Le module PHP mySQL n\'est pas installé.');
   if (($this->db = @mysql_connect($host.':'.$port,$user,$password,true)) === false)
   die(sprintf('Impossible d\'établir une connection avec la base de données à l\'adresse %s:%s.',$host,$port));
   //base de donée en utf-8
   mysql_query("SET NAMES 'utf8'",$db);
   mysql_query("SET CHARACTER SET utf8",$db);
   if(!@mysql_select_db($dbname, $db))
   die(sprintf('Impossible de sélectionner la base de données %s à l\'adresse %s:%s.',$name,$host,$port));
}
//requête
function db_query($file, $line, $query) {
   $GLOBALS['lastrequest']=$query;
   $ressource=@mysql_query($query,$this->db) or die(sprintf('Erreur avec une requête [%s (ligne %s), requête «%s»: %s]',$file,$line,$query,mysql_error($db)));
   $retour=array();
   while($data = mysql_fetch_assoc($ressource))
   $retour[]=$data;
   return $retour;
}
//Exemple
$sql = "SELECT .....";
db_query($sql,__FILE__,__LINE__);