Améliorer le nl2br de PHP

Commentaires fermés

Jeudi 9 avril, 2009 - , , , ,

Par défaut, la fonction nl2br replace ”\n” par « <br />\n»  dans une chaîne de caractères. Voici une fonction qui permet d’éviter le retour chariot désagréable

1
2
3
4
5
6
7
// modification de nl2br()
function nlToBr($text)
{
  $text = str_replace("\r", '', $text);
  $text = str_replace("\n", '<br />', $text);
  return $text;
}

Voici la fonction inverse:

1
2
3
4
5
6
// inverse de nlToBr()
function brToNl($text){
  $text = str_replace(array("\r", "\n"), '', $text);
  $text = str_replace(array('<br>', '<br />'), "\n", $text);
  return $text;
}

Vider un répertoire de son contenu

Commentaires fermés

Mercredi 8 avril, 2009 - , , , ,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function cleanFolder($folder)
{
  if(is_file($folder)) {
    @unlink($folder);
  }
  if(is_dir($folder)){
    foreach(new DirectoryIterator($folder) as $_res ){
      if($_res->isDot()) {
        unset($_res);
        continue;
      }
      if($_res->isFile()) {
        cleanFolder($_res->getPathName());
      } 
      elseif($_res->isDir()){
        cleanFolder($_res->getRealPath());
      }
      unset($_res);
    }
  }
}

Extraire l’ensemble d’un fichier zip

Commentaires fermés

Mardi 7 avril, 2009 - , , ,

1
2
3
4
5
6
7
8
9
10
11
12
// extrait les fichiers contenus dans un fichier zip
function unzipFile($file)
{
  $zip = new ZipArchive();
  $res = $zip->open($file);
  if ($res === TRUE) {
    $zip->extractTo('./');
    $zip->close();
    return true;
  }
  return false;
}

Filtrer les caractères d’une chaine pour ne garder que les caractères « normaux» 

Commentaires fermés

Lundi 6 avril, 2009 - , , ,

Voici une fonction pour filtrer les caractères spéciaux dans une chaine, utile pour renommer un fichier (en enlevant les accents, les espaces… ) ou afficher une URL « propre» .

1
2
3
4
5
6
7
//filtre les caracteres speciaux
function filterString($chaine)
{
  $search = array ('@[éèêëÊË]@i','@[àâäÂÄ]@i','@[îïÎÏ]@i','@[ûùüÛÜ]@i','@[ôöÔÖ]@i','@[ç]@i','@[ ]@i','@[^a-zA-Z0-9_]@');
  $replace = array ('e','a','i','u','o','c','_','');
  return preg_replace($search, $replace, $chaine);
}

Ouvrir un site dans une nouvelle fenêtre (HTML valide)

Commentaires fermés

Dimanche 5 avril, 2009 - , , , , ,

Lorsqu’on souhaite ouvrir un site dans une nouvelle fenêtre, ou un nouvel onglet, on insère souvent le code:

1
<a href="http://www.nachix.com/" target="_blank">NACHIX.COM</a>

Hors, ce code n’est plus valide en HTML 4.1 STRICT. Voici une astuce pour conserver cette fonctionnalité, tout en gardant le code valide:

1
<a onclick="window.open(this.href); return false;" href="http://www.nachix.com/">NACHIX.COM</a>

Transformer une chaine de caractères en majuscules/minuscules

Commentaires fermés

Samedi 4 avril, 2009 - , , , ,

Cette fonction tranforme une chaine de caractères en majuscules, en conservant les accents.

1
2
3
4
5
6
7
8
9
// met un texte en majuscule, en conservant les accents
function str2upper($text)
{
  $arrayLower = array('ç','â','ã','à','á','ä','é','è','ê','ë','í','ì','î','ï','ó','ò','ô','õ','ö','ú','ù','û','ü');
  $arrayUpper = array('Ç','Â','Ã','Á','À','Ä','É','È','Ê','Ë','Í','Ì','Î','Ï','Ó','Ò','Õ','Ô','Ö','Ú','Ù','Û','Ü');
  $text = strtoupper($text);
  $text = str_replace($arrayLower, $arrayUpper, $text);
  return($text);
}

Note: voici la fonction inverse:

1
2
3
4
5
6
7
8
9
// met un texte en minuscules, en conservant les accents
function str2lower($text)
{
  $arrayLower = array('ç','â','ã','à','á','ä','é','è','ê','ë','í','ì','î','ï','ó','ò','ô','õ','ö','ú','ù','û','ü');
  $arrayUpper = array('Ç','Â','Ã','Á','À','Ä','É','È','Ê','Ë','Í','Ì','Î','Ï','Ó','Ò','Õ','Ô','Ö','Ú','Ù','Û','Ü');
  $text = strtolower($text);
  $text = str_replace($arrayUpper, $arrayLower, $text);
  return($text);
}

Créer une chaîne de caractères aléatoire

Commentaires fermés

Vendredi 3 avril, 2009 - , , , ,

Cette fonction permet de générer une chaîne de X caractères de manière aléatoire.

1
2
3
4
5
6
7
8
9
10
11
12
// cree une chaine aleatoire
function randomString($nbCar)
{
  // caracteres pouvant etre utilises (o et 0 sont exclus volontairement)
  $caracteres = 'abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ123456789';
  $chaine = '';
  for ($cpt = 0 ; $cpt < $nbCar ; $cpt++)
  {
    $chaine .= substr($caracteres, rand(0, strlen($caracteres)), 1);
  }
  return $chaine;
}

Vérifier la validité d’une adresse email

Commentaires fermés

Jeudi 2 avril, 2009 - , , ,

Cette fonction vérifie le format d’une adresse email et retourne le résultat vrai/faux.

1
2
3
4
5
6
7
// verifie l'exactitude du format d'une adresse email
function validEmail($mail)
{
  return eregi("^[[:alpha:]]{1}[[:alnum:]]*((\.|_|-)[[:alnum:]]+)*@".
                    "[[:alnum:]]{1}[[:alnum:]]*((\.|-)[[:alnum:]]+)*".
                    "(\.[[:alpha:]]{2,4})$", $mail);
}

Ancienne recherche google

Commentaires fermés

Mercredi 1 avril, 2009 - ,

google classic