fr . comp . lang . php


Service Usenet Gratuit - You The Net .Com Consultez les groupes de news usenet nntp avec www.youthenet.com Postez et suivez voos fils de discussions gratuitement avec you the net .com le service gratuit de news en ligne

Re: str_word_count et multibyte sur Fr Comp Lang Php



Groupes les plus fournis
comp os linux configuration comp mail serveurs rec photo numerique hierachie de merde tv tnt lettres langues-anciennes grec usenet-fr emile durkheim comp sys mac programmation lettres langues-anciennes latin misc actualite rec tv series usenet usages petites-annonces rencontres comp usenet lecteurs-de-news informations comp lang perl sci astronautique comp os unix mac rec sport arts-martiaux comp stockage


Derniers posts youthenet
Re: Démission pour création d'entreprise commerce ou service Que pensez-vous de la doctrine de James Madison ? Re: envoi des données à un serveur html la demeure du chaos Re: Alice au pays de Free (d'après la t ribune) Re: Est-ce ue violation de la GPL? Re: L'ultra libéralisme du chemin de fer prôné par Sarkozy... Président langue de bois ? la compagnie de l'autre

actualité

Message #1: http://www.toutelapoesie.com/index.php'showtopic ...
Toute la Poésie - Il y a 15 heures
Tu sais pour moi c'est le gallot, je suis incapable de revenir sur mes pas. Je sais bien ce que tu penses ! ' Le salop, un fils de pute une grosse merde. ...
source

actualité

STAGE - INGENIEUR DE DEVELOPPEMENT STAGIAIRE
Lesjeudis.com - Il y a 22 heures
Cette application a plusieurs fonctionnalités dont les suivantes : Cette application web est développée en PHP, Javascript, CSS2 et est basée sur une base ...
STAGE - INGENIEUR SYSTEME STAGIAIRE Lesjeudis.com
2 autres articles
source

Accueil |  Ajouter aux Favoris |  Inscription |  connexion |  Flux RSS de fr.comp.lang.php |

fr . comp . lang . php

Re: str_word_count et multibyte



accueil . fr . comp . lang . php




Re: str_word_count et multibyte

   
Sujet: Re: str_word_count et multibyte
De: om+news (l' arobase) miakinen.net (Olivier Miakinen)
Groupes: fr.comp.lang.php
Organisation: Neottia nidus-avis
Date: 06. Sep 2008, 22:24:56
Le 06/09/2008 18:56, je répondais à mostafa :

la fonction str_word_count  ne marche pas sur une chaine codée en
utf-8; y-a-il une autre façon de compter le nombre de mots d'une
chaine codée en utf-8 ?

Je vais essayer de proposer une solution. [...]

La voilà. Elle est très courte, sauf que j'ai cru utile de la documenter
abondamment, ce qui augmente pas mal la taille du truc...

<?php
    /*
     * Explications du masque pour preg_match_all.
     *
     * La fonction str_word_count standard considère qu'un mot est
     * une séquence de caractères qui contient tous les caractères
     * alphabétiques, et qui peut contenir, mais pas commencer
     * par "'" et "-".
     *
     * Avec Unicode et UTF-8, une lettre peut être un caractères
     * ASCII non accentué tel que "e" ou "E", mais aussi un "é" ou
     * un "É", lequel peut se représenter sous la forme de deux
     * caractères : d'abord le "E" non accentué, puis l'accent tout
     * seul. Une lettre "E" ou "É" fait partie de la classe « L »,
     * un accent de la classe « Mn ».
     *
     * Par ailleurs, "-" n'est plus le seul trait d'union possible.
     * Plutôt que de les lister individuellement, j'ai choisi de
     * tester les caractères de la classe « Pd ». Un inconvénient
     * est que cela inclut aussi le tiret cadratin et d'autres,
     * mais cet inconvénient existait déjà avec str_word_count et
     * le tiret ascii, et en outre il ne concerne pas le français
     * (contrairement à l'anglais, il y a toujours des espaces
     * autour de ces tirets).
     *
     * Enfin, "'" n'est pas non plus la seule apostrophe possible.
     * Mais contrairement aux tirets je teste juste l'apostrophe
     * typographique U+2019 à part au lieu de tester la classe « Pf »
     * car cette dernière contient trop de signes de ponctuation
     * à exclure de la définition d'un mot.
     *
     * Un mot commence donc par une lettre \p{L}, éventuellement
     * accentuée (suivie par un nombre quelconque de \p{Mn}), et
     * ensuite on peut rencontrer un nombre quelconques d'autres
     * lettres (\p{L} et \p{Mn}), de tirets (\p{Pd}) ou d'apostrophes
     * (' et \x{2019}). Tout ceci, bien sûr, dans un masque compatible
     * avec UTF-8 (/u à la fin).
     *
     * Pour les références, voir :
     *
http://fr2.php.net/manual/fr/regexp.reference.php#regexp.reference.unicode
     * http://fr2.php.net/manual/fr/reference.pcre.pattern.modifiers.php
     */
    define("WORD_COUNT_MASK", "/\p{L}[\p{L}\p{Mn}\p{Pd}'\x{2019}]*/u");

    function str_word_count_utf8($str)
    {
        return preg_match_all(WORD_COUNT_MASK, $str, $matches);
    }
?>

Cordialement,
--
Olivier Miakinen


Date Sujet  Auteur
06.09. * str_word_count et multibytemostafa
06.09. `* Re: str_word_count et multibyteOlivier Miakine
06.09.  `- Re: str_word_count et multibyteOlivier Miakine
Derniers articles
petites-annonces informatique autos mitsubishi jobs offres jobs demandes jobs d jobs misc droit soc alcoolisme soc environnement rec photo lettres langue francaise misc handicap misc divers sci physique sci zetetique

Derniers messages
petites-annonces informatique autos mitsubishi jobs offres jobs demandes jobs d jobs bio general soc alcoolisme misc droit rec son-image home-cinema lettres langue francaise sci physique rec jeux nomic rec photo misc handicap

actualité

Message #1: http://www.toutelapoesie.com/index.php'showtopic ...
Toute la Poésie - Il y a 15 heures
Tu sais pour moi c'est le gallot, je suis incapable de revenir sur mes pas. Je sais bien ce que tu penses ! ' Le salop, un fils de pute une grosse merde. ...
source

actualité

Devenir « obamiste »
Le Monde - 27 nov 2008
Ceux qui désirent en savoir plus consulteront utilement le Tax Justice Network (http://www.taxjustice.net/cms/front_content.php'idcat=2) qui fédère un grand ...
source


 




Copyright 2008 ©  - YouTheNet.com

| linoleic |