Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


Auteur : Caerbannog
Version : 16/01/2006
BBCode simple
<?

function bb($t)
{
     $t = htmlentities($t);
     $in = Array("![(barre|hr)]!iU",
                 "![(barre|hr)s*=?s*([0-9]{1,2}|100)(%?)]!iU",

         "![(b|g)](.*)[/\1]!iUs",
         "!(.*)!iUs",
         "![(u|s)](.*)[/\1]!iUs",
       
         "![(center|centre)](.*)[/\1]!iUs",
         "![(right|droite|droit)](.*)[/\1]!iUs",
         "![(left|gauche)](.*)[/\1]!iUs",
         "![(justify|justifie)](.*)[/\1]!iUs",
       
         "![(color|couleur)s*=?s*(red|gray|blue|lightgrey|green|black|#[[:xdigit:]]{6})](.*)[/\1]!iUs",
         "![(size|taille)s*=?s*([0-9]+)](.+)[/\1]!iUs",
       
         "![(h|title|titre)s*=?s*([2-4])](.+)[/\1[2-7]?]!iU",
       
         "![(url|lien)]s*(http://[^[]<>]+)s*[/\1]!iU",
         "![(url|lien)]s*([[:alnum:] &;-]+)s*[/\1]!iUe",
         "![(url|lien)s*=?s*(http://[^[]<>]+)s*](.*)[/\1]!iUs",
         "![(url|lien)s*=?s*([[:alnum:] &;-]+)s*](.*)[/\1]!iUse",
             "!  !");
                 
     $out = Array("<hr />",
                  "<hr width="$2$3" />",

          "<b>$2</b>",
          "<i>$1</i>",
          "<u>$2</u>",
       
          "<div style="text-align: center;">$2</div>",
          "<div style="text-align: right;">$2</div>",
          "<div style="text-align: left;">$2</div>",
          "<div style="text-align: justify;">$2</div>",
       
          "<span style="color: $2;">$3</span>",
          "<span style="font-size: $2px;">$3</span>",
       
          "<h$2>$3</h$2>",

          "<a href="$2">$2</a>",
          "'<a href="" . FNAME . "' . htmlentities(urlencode(html_entity_decode("$2"))) . '">$2</a>'",
          "<a href="$2">$3</a>",
          "'<a href="" . FNAME . "' . htmlentities(urlencode(html_entity_decode("$2"))) . '">$3</a>'",
         
              "&nbsp; ");
       
     for($i = 0; $i < count($in) - 1; $i++)
     {
     $t = preg_replace($in[$i], $out[$i], $t);
     }
   
     $t = preg_replace_callback("![(list|liste)s*=?s*([1IaA]?)]s*(:?[*](.*)s*)+[/\1]!iUs",
                                create_function('$matches',
"switch($matches[2])
{
     case '1':
     $result = '<ol class="un">';
     break;
     case 'i':
     $result = '<ol class="ii">';
     break;
     case 'I':
     $result = '<ol class="II">';
     break;
     case 'a':
     $result = '<ol class="aa">';
     break;
     case 'A':
     $result = '<ol class="AA">';
     break;
     case '':
     $result = '<ul>';
     break;
}
for($i = 3; $i < count($matches) - 1; $i++)
{
     $result.= '<li>' . $matches[$i] . '</li>';
}
return $result . '</' . substr($result, 1, 2) . 'l>';"),
                        $t);
     return nl2br($t);
}

?>
Pour avoir des listes numérotées
<style type="text/css">
.un {
     list-style-type: decimal;
}
.aa {
     list-style-type: lower-alpha;
}
.AA {
     list-style-type: upper-alpha;
}
.ii {
     list-style-type: lower-roman;
}
.II {
     list-style-type: upper-roman;
}
</style>
Utilisation
<?
echo bb("[g]Titre en Gras.[/g]\n[barre]\n[droite]Texte séparé 
par une barre horizontale aligné à droite.[/droite]");
?>

Auteur : Moloc'h
Version : 16/01/2006
Mettre des mots en surbrillance dans un texte
<?
function str_light ( $chaine , $word )
    {
    $replacement = '' ;

            foreach ( $word as $val )
            {    
            $replacement .= $val . '|' .  upper_word ( $val ) . '|' ;
            }

        $replacement = substr ( $replacement , 0 , strlen ( $replacement ) - 1 ) ;
        $chaine = eregi_replace ( $replacement , 
'<span style="font-weight: bold;background-color: #FF0000;"></span>' , $chaine ) ;

    return $chaine ;
    }

    function upper_word ( $str )
    {
    $str = strtr ( $str , 'ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ' , 
'aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn' ) ;
    $str = strtoupper ( $str ) ;
    return $str ;
    }
?>
Utilisation
<?
$word = array ( 'de' , 'du' ,  'des' , 'le' , 'la' , 'les' , 'un' , 'une' , ',' , 'et' , 'ou' ) ;
$str = "L'édition de cette année du 20 au 27 mars partout en France traitera des dernières tendances en vogue, 
comme le phénomène des blogs ou encore l'internet mobile.";
    
echo str_light ( $str , $word ) ;
?>

Auteur : iubito
Version : 11/01/2006
Transformer les mails et urls en liens cliquables
//Transform URL and e-mails into links
$texte = eregi_replace(
   "(^|[ \t\r\n\(:,]+)?". //punctuation before URL
   //Protocole
   "((ftp|http|https|gopher|mailto|pop|smtp|news|nntp|telnet|wais|".
   "file|imap|prospero|peercast|ed2k|irc|aim|mime|ftam|pnm|rtsp|ldap):".
   "[A-Za-z0-9/](([A-Za-z0-9$|.+!*()\.,;/?:@&~=_-])|%[A-Fa-f0-9]{2})+".
   "[A-Za-z0-9/&#=_-]+)". //valid chars at the end of an URL
   "([\.\),:;? \t\r\n]+([^A-Za-z0-9/&%#=_-]|$))?", //punctuation not followed by valid char
 "\\1<a href='\\2' target=\"blank\">\\2</a>\\6", $texte);

$texte = eregi_replace("(^|[ \t\r\n\(,<>:]+)?".
   "([_a-z0-9-]+[^:/=](\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+(\?[&;A-Za-z0-9=_-]+)?)".
   "([\.\),:;<>? \t\r\n]+([^A-Za-z0-9/&%#=_-]|$))?",
 "\\1<a href=\"mailto:\\2\">\\2</a>\\6", $texte);

precedent    sommaire    suivant   

Consultez les autres pages sources


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2006  Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com