Speak English? Click here to read my English blog!

6 fonctions PHP indispensables

Posté par jbj le 6 nov 2007 dans PHP4 commentaires

Bien que PHP soit un langage particulièrement riche en fonctions, on à toujours besoin d’avoir recours à des fonctions maison pour des taches récurentes. Voici un petit condensé de fonctions qui m’ont été fort utile lors de mes développement en PHP.

Créer des liens de matière automatique

Cette fonction permet de reperer les balises http, https et ftp et de créer automatiquement les liens hypertextes corresondants.

function AutoLink($input)
{
   $output = eregi_replace("(http|https|ftp)://([a-z0-9\-\./]+))”,”<a href=\”\\0\”>\\0</a>”,$input);
   $output = eregi_replace(”(([a-z0-9\-\.]+)@([a-z0-9\-\.]+)\.([a-z0-9]+))”,”<a href=\”mailto:\\0\”>\\0</a>”,$output);
   return $output;
}

Implémenter le BBCode

Cette fonction parse un texte à la recherche de balise BBCode et les remplace par les balises HTML correspondantes.

function BBCode($post){
    $post = preg_replace("/\[img\](.+?)\[\/img\]/”,”<img src=\”$1\” />”,$post);
    $post = preg_replace(”/\[url\=(.+?)\](.+?)\[\/url\]/”,”<a href=\”$1\”>$2″,$post);
    $post = preg_replace(”/\[b\](.+?)\[\/b\]/”,”<strong>$1</strong>”,$post);
    $post = preg_replace(”/\[i\](.+?)\[\/i\]/”,”<em>$1</em>”,$post);
    return $post;
}

Afficher la date en Français

L’affichage d’une date au format Français est un problème récurent en PHP. Le web regorge d’une multitude de fonctions différentes réglant ce problème. Bien que très simple à coder soi-même, avoir cette fonction sous la main permet de gagne un peu de temps et surtout de ne pas réinventer la roue.

function get_date()
{
    $eng_words = array('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday',
                                     'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');

    $french_words = array('Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche',
                                     'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');

    $date_str = 'le '.date('l').' '.date('d').' '.date('F').' '.date('Y').' à '.date('G').':'.date('i').':'.date('s');
    $date_str = str_replace($eng_words, $french_words, $date_str);
    return $date_str;
}

Déterminer si une chaine commence par tel motif

En Java, il existe la fonction startsWith, qui est bien pratique pour le traitement de chaines de caractères. Malheureusement, cette fonction est absente en PHP.

function startswith($texte, $recherche)
{
    return $recherche === '' or $recherche === $texte or strpos($texte, $recherche) === 0;
}

Déterminer si une chaine se termine par tel motif

function endswith($texte, $recherche)
{
    return $recherche === '' or $recherche === $texte or strpos(strrev($texte), strrev($recherche)) === 0;
}

Convertir plusieurs espaces en un seul

$maChaine= preg_replace('/\s+/', ' ', $maChaine);
Si vous avez aimé cet article, aidez-moi à le promouvoir en votant pour lui sur les sites suivants: Ces icones representent les sites de bookmarking social dans lesquels vos lecteurs peuvent partager et faire découvrir vos pages.
  • del.icio.us
  • Scoopeo
  • Tapemoi
  • Technorati
  • Tutmarks
  • Pioche
  • Blogasty
  • Diggons
  • Wikio
Tags: ,

4 commentaires

» Flux RSS des commentaires
  1. Salut !

    Je débute en PHP je veux afficher une date de ma table sql que j’appel en php, mais je comprends pas ton code je le place sur ma page mais sa me met toujours la date en chiffre…

    J’appel ma date comme sa :

    Ou je dois placer exactement ton code ??

    Merci ^^

    A+

  2. Salut!
    Je suppose que tu parles de la fonction get_date(), elle s’utilise comme suit:
    -Tu copie-colle la fonction dans ton fichier, puis tu l’appelle:
    get_date();
    Elle t’écrira la date courante en français. Je ne pense pas qu’elle soit adaptée pour ce que tu veux faire, du moins si j’ai tout bien compris ;)

    Bon courage pour le php ;)

  3. Déjà merci pour ta réponse rapide :)

    Enfaite oui je veux afficher la date de ma table sql en français (en ce moment elle s’affiche comme sa : 2008-04-25) j’aimerais la faire soit : 25 / 04 / 2008 ou encore Vendredi 25 Avril 2008.

    Tu sais comment procéder pour faire ça ??

  4. Le plus simple serait de créer une fonction à base de substr() qui fractionnerait ta date et te la retournerais dans le bon sens. A mon avis, il y à des centaines de focntions de ce type qui traînent sur le net :)

Commenter