Bouts de Codes PHP

Extraire tous les mots d'une phrase

Information sur le code source PHP

Ecrit par :  poujolrost-mathias
Site de l'auteur Voir
Codes en PHP de l'auteur : [12] sources Voir
Enregistrement le 22 Nov 2008 - Vu 2542 fois
Impression: Imprimer le code
9
10

Description du code source

Information sur le code source

Fonction pour décomposer une chaîne de caractère en chacun de ses mots.

Elle renvoit un tableau dont chaque valeur est un des mots, dans le même ordre que la phrase initiale.

Code Source



.01
.02
.03
.04
.05
.06
.07
.08
.09
.10
.11
.12
.13
.14
.15
.16
.17
.18
.19
.20
.21
.22
.23
.24
.25
.26
.27
.28
.29
.30
.31
.32
.33
.34
.35
.36
.37
.38
.39
.40
.41
.42
.43
.44
.45
.46
.47
.48
.49
.50
.51
.52
.53
.54
.55
.56
.57
.58
.59
.60
.61
.62
.63
 

<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Extraire tous les mots d'une phrase                       */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts472-PHP.htm              */
/* Auteur         : poujolrost-mathias                                        */
/* Date édition   : 22 Nov 2008                                               */
/* Website auteur : http://site.mathiaspoujolrost.net/portfolio/              */
/*                                                                            */
/******************************************************************************/
 
/* Fonction qui extrait chaque mot d'une chaîne de caractère et compose un array les contenant */
/* Type du paramètre : 
    $phrase :    string
*/
/* Pour l'appel :
    Exemple :
    <?php
    $quelquesmots = extraireMotsDUnePhrase("C'est ma phrase.");
    echo "<ul>"; 
    foreach($quelquesmots as $valeur) 
    {
        echo "t<li>$valeur</li>n"; 
    }
    echo "</ul>";
    // affichera : 
    // <ul>
    //         <li>C</li>
    //         <li>est</li>
    //         <li>ma</li>
    //         <li>phrase</li>
    // </ul>
    ?>
*/
function extraireMotsDUnePhrase($phrase)
{    
    /* caractères que l'on va remplacer (tout ce qui sépare les mots, en fait) */
    $aremplacer = array(",",".",";",":","!","?","(",")","[","]","{","}",""","'"," ");
    /* ... on va les remplacer par un espace, il n'y aura donc plus dans $phrase que des mots et des espaces */
    $enremplacement " "; 
    
    /* on fait le remplacement (comme dit ci-avant), puis on supprime les espaces de début et de fin de chaîne (trim) */
    $sansponctuation trim(str_replace($aremplacer$enremplacement$phrase)); 
    
    /* on coupe la chaîne en fonction d'un séparateur, et chaque élément est une valeur d'un tableau */
    $separateur "[ ]+"// 1 ou plusieurs espaces
    $mots split($separateur$sansponctuation); 
    
    return $mots;
}
?> 

Fonctions du code source

Fonctions php / mysql PHP

  • array : Crée un tableau - (PHP 4, PHP 5)
  • str_replace : Remplace toutes les occurrences dans une chaîne - (PHP 4, PHP 5)
  • trim : - (PHP 4, PHP 5)
  • split : Scinde une chaîne en un tableau, grâce à une expression rationnelle - (PHP 4, PHP 5)

Commentaire (1)
Nouveau message KOogar
le 07 Jan 2009 à 23:34:00
j'aime bien ta maniere de faire, perso je le fait en 2 lignes avec la classe [[:alpha:]] , elle ne prendra pas les caracacteres dit spéciaux. Pour y inclure les accente, il faut ajouter cette ligne


Code:
setlocale(LC_ALL,'fr-FR.ISO8859-1');
le probleme vient de config serveur. Certain serveur ne prendrons pas cette commande en consideration.. ton code est bien pour ca car il est actif sur tout les serveur :P



Code:
// Place tous les mots d'une chaine dans un tableau:
$regs1 = split("[^[:alpha:]]+", $texte);

Poster un commentaire

:P :)
:wink: :lol:
:surprised: :confused:
:idea: :no:
Taille du texte:
Couleur:
 
Code de sécurité
Offres d'emploi
Librairie

Langages de programmation

La librairie est ouverte à tous et elle est accès principalement sur les langages PHP et MySQL. Vous trouverez aussi d'autres langages de programmation tel que le CSS, HTML, AJAX, ASP.. Plus de 300 références facilement accessibles. Visiter

  • Programmer pour Internet : Notions fondamentales et mise en pratique (tcp/ip, http, html, java, php, MySQL, XML...)
  • <HTML> ; Des CSS au DHTML
  • PHP - MySQL - AJAX - Coffret de 2 livres : Créez des applications professionnelles
  • PHP et MySQL + (1Cédérom)
  • PHP 5 & MySQL 5 : Créez votre site web dynamique de A à Z
  • PHP - MySQL - AJAX - Coffret de 2 livres : Créez des applications professionnelles
  • PHP à 200% : 100 techniques pour dynamiser vos sites web
  • Apprendre SQL avec MySQL : Avec 40 exercices corrigés
  • Maîtriser MySQL 5
  • PHP - Introduction et premiers pas