IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Tronquer des phrases et afficher le résumé


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 118
    Par défaut Tronquer des phrases et afficher le résumé
    Bonjour à tous,

    J'ai problème de comment faire une boucle avec condition pour rendre un résumer d'un texte.

    synthèse:

    texte:
    Paragraphe 1: mot1 mot2 mot3 ... mot n. // phrase termine avec un parmi ces séparateur( .?!, et pragraphe termine avec un retour à la ligne.

    Paragraphe 2: mot1 mot2 mot3 ... mot n. // phrase termine avec un parmi ces séparateur( .?!, et pragraphe termine avec un retour à la ligne.
    ...
    ...
    ...
    Paragraphe N: mot1 mot2 mot3 ... mot n. // phrase termine avec un parmi ces séparateur( .?!, et pragraphe termine avec un retour à la ligne.
    Donc le résumer afficher comme ça:

    Afficher une phrase a partir du paragraphe 1

    jusqu'à la premier phrase du paragraphe N.
    Si on veux ajouter un sélectionneur de pourcentage pour résumer un texte:
    on va mettre par exemple si on veux 50% il faut tronquer la phrase 1 et passer à la phrase 3, phrase 5 ansi de suite jusqu'à la phrase (N-1) par exemple.

    et le résumer afficher comme ça: Phrase 1 + phrase 3 + phrase (N-1) .

    Voici mon code source:

    La fonction tronquer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <?php
    function tronquer($description)
    {
    	//nombre de caractères à afficher
    	$max_caracteres=30;
    	// Test si la longueur du texte dépasse la limite
    	if (strlen($description)>$max_caracteres)
    	{    
    		// Séléction du maximum de caractères
    		$description = substr($description, 0, $max_caracteres);
    		// Récupération de la position du dernier espace (afin déviter de tronquer un mot)
    		$position_espace = strrpos($description, " ");    
    		$description = substr($description, 0, $position_espace);    
    		// Ajout des "..."
    		$description = $description."...";
    	}
    	return $description;
    }
    ?>
    la page traitement et affichage:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     
    // form qui va permet au utilisateur de saisir un texte 
     
    <form action="" method="post">
          <td width="16%">&nbsp;</td>
          <td width="66%" align="center"> <strong>Saisissez/collez le texte à résumer 
            dans le champs si dessous puis </strong> 
            <input type="submit" name="validez" value="Validez">
            <br>
            <textarea name="resumer" rows="15" cols="110"><?php if (isset($_POST['resumer'])) echo $_POST['resumer'] ; ?>
            </textarea>
            <br>
            <input name="ok" type="submit" value="Valider"> </td>
          <td width="18%" align="center"><table width="100%" border="0">
              <tbody><tr>
                <td align="center"><font size="1"><a href="www.3wmedia.ma">-aide-</a></font></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
              </tr>
            </tbody></table>
            <table width="100%" border="0">
              <tbody><tr> 
                <td align="center" bgcolor="#000000"><strong><font color="#FFFFFF">Options</font></strong></td>
              </tr>
              <tr> 
                <td><select name="langue">
    			    <option value="en">Arabe</option>
    				<option value="fr">Français</option>
                    <option value="en">English</option>
                  </select>
                  Langue </td>
              </tr>
              <tr> 
                <td><select name="compress">
    			<option value="30">30%</option>                <option value="10">10%</option>
                    <option value="20">20%</option>
                    <option value="30">30%</option>
                    <option value="40">40%</option>
                    <option value="50">50%</option>
                    <option value="60">60%</option>
                    <option value="70">70%</option>
                  </select>
                  Compression</td>
              </tr>
              <tr> 
                <td>
    <input name="html" type="checkbox" value="checked">
                  afficher la source</td>
              </tr>
            </tbody></table></td>
        </form>
     
    // fin form...
     
    // traitement PHP
     
    <?php 
     
    $chaine="";
    $max_sujet="30";
    if (isset($_POST['resumer'])){
    $chaine=$_POST['resumer'];
    $sujet=$chaine;
     
    //traitement sur le titre qui doit affichier au sujet...
    if (strlen($sujet)>$max_sujet)
    {    
    // Séléction du maximum de caractères
    $sujet = substr($sujet, 0, $max_sujet);
    // Récupération de la position du dernier espace (afin déviter de tronquer un mot)
    $position_espace = strrpos($sujet, " ");    
    $sujet = substr($sujet, 0, $position_espace);    
    // Ajout des "..."
    $sujet = $sujet."...";
    }
    echo "<b>$sujet</b><br/>";
    include"function_tronquer.php";//include de la fonction tranquer
     
    echo tronquer($chaine);// ici je veux le résumer j'ai pas compris comment boucler et afficher les phrases l'une après l'autre avec le calcule du pourcentage.
     
    }
    ?>
     
    // Fin traitement PHP
    Comment ça marche pour attendre un résumer !!

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    Citation Envoyé par roy2work Voir le message
    Comment ça marche pour attendre un résumer !!
    Bonjour, je comprend pas ce que tu attends en fait.
    Tu as ta fonction tronquate, mais tu n'as pas ta fonction qui parcours ton texte, je pense que tu devrais commencer par la. (ou le poster si c'est déjà fait)

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    j'ai mis à jour mon tuto spécialement pour toi :

    Mais il te manque la fonction qui permet de "découper" ton texte en paragraphes/phrases.
    on va mettre par exemple si on veux 50% il faut tronquer la phrase 1 et passer à la phrase 3, phrase 5 ansi de suite jusqu'à la phrase (N-1) par exemple.
    et le résumer afficher comme ça: Phrase 1 + phrase 3 + phrase (N-1) .
    Là, tu te contentes d'afficher 1 phrase sur 2 !
    Je ne vois pas l'intérêt !

  4. #4
    Membre très actif
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 118
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Là, tu te contentes d'afficher 1 phrase sur 2 !
    Je ne vois pas l'intérêt !
    Bonjour,

    d'abord j'ai fait beaucoup de recherche sur les algorithmes de résumer automatique j'ai trouver la méthode REG (REsumeur Glouton):

    La méthode REG consiste en deux grandes phases : une représentation adéquate des documents,
    puis une pondération des phrases. La prèmiere est realisée au moyen d’une représentation
    vectorielle. La deuxième par un algorithme d’optimisation glouton [2]. La génération
    du resumé est effectuée par concaténation des phrases pertinentes, ponderées dans l’étape
    d’optimisation.
    j'ai essai de l'apprendre petite à petite, aussi l'algorithme d'ordonnancement et l’algorithme de classification.

    Mais pourquoi je veux commencé par ça! je veux juste apprendre les notions d'utilisé une boucle qui affiche les phrases comme ça:

    j'ai un tableau par exemple contient les phrases d'une chaine donnée et le retour va aperçu comme ça
    Résumer
    phrase 1 concaténation phrase 3 concaténation phrase 5 ainsi de suite...
    je sais que ce n'est pas une solution optimale mais comme un point de départ pour moi.

    Note: Merci bien pour votre mise à jour j'ai fait mon suivi. Mais c'est dure pour un débutant comme moi d'apprendre ses truc facilement !


  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par roy2work Voir le message
    ...Mais c'est dure pour un débutant comme moi d'apprendre ses truc facilement !...
    Quand on est débutant, on commence par apprendre les bases.
    Ensuite, on fait des exercices SIMPLES.
    Puis de plus en plus complexe, au fur et à mesure qu'on apprend.

    Je suis désolé, mais on ne va pas pouvoir te tenir la main tout au long du chemin...

  6. #6
    Membre très actif
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 118
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Je suis désolé, mais on ne va pas pouvoir te tenir la main tout au long du chemin...
    J'ai pas demander l’assistance tout au long de mon chemin ...

    pas du tout je veut juste partager j'ai apprendre beaucoup de chose en php durant ces deux dernier moi! bien sur que j'ai commencer par tutorial efficace de forum, mais mon besoin m'oblige de commencer à ce point la!

    Merci de votre temps c'est appréciable vraiment !

  7. #7
    Membre très actif
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 118
    Par défaut
    Citation Envoyé par gototog Voir le message
    Bonjour, je comprend pas ce que tu attends en fait.
    ... mais tu n'as pas ta fonction qui parcours ton texte, je pense que tu devrais commencer par la.
    Oui comment va faire pour écrire une fonction qui parcours un texte?

  8. #8
    Membre très actif
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 118
    Par défaut
    J'ai tester maintenant la fonction texte_resume_brut_pourcent() de Jérôme Réaux.

    J'ai trouvé très fascinant! je vais essai d'apprendre plus! merci pour vos aide.

Discussions similaires

  1. Afficher des phrases en couleur
    Par Gildas86 dans le forum MATLAB
    Réponses: 4
    Dernier message: 21/12/2009, 20h17
  2. Réponses: 2
    Dernier message: 17/11/2007, 17h28
  3. concatener des "phrases" dans un char*
    Par thierry_b dans le forum C
    Réponses: 3
    Dernier message: 13/11/2005, 11h45
  4. Extraction des phrases d'un Texte
    Par LE CHAKAL dans le forum Langage
    Réponses: 6
    Dernier message: 19/08/2002, 21h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo