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 :

Couper les phrases des paragraphes


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 Couper les phrases des paragraphes
    Bonjour

    Je vais faire un résumer du texte je sais que ça appartient au algorithme d'apprentissage automatique et de l'agrégation de l'information c'est mon but à arrivé après une année ou plus!

    mais pour le moment je vais juste faire des couper des phrases à partir des paragraphes données comment ça?

    d'abord j'ai un texte saisi dans un textarea comme suite:

    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
     
        <form action="" method="post">
          <br>
            <textarea name="resumer" rows="15" cols="110"><?php if (isset($_POST['resumer'])) echo $_POST['resumer'] ; ?>
            </textarea>
            <br>
    <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>
    <br/>
            <input name="ok" type="submit" value="Valider">
    </form>
    j'ai récupérer ce texte dans un variable $chaine comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
             $chaine="";
             if (isset($_POST['resumer'])){
             $chaine=$_POST['resumer'];
    }
    Après ça j'ai essayé de couper des parties de chaque paragraphe avec la méthode substr et partager sur plusieurs variable var1 var2 var3 et afficher ces variable comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php 
    $chaine="";
    if (isset($_POST['resumer'])){
    $chaine=$_POST['resumer'];
    $sujet= substr($chaine, 0, 20);
    $res1= substr($chaine,0, 150);
    $res2= substr($chaine,151, 400);
    $res3= substr($chaine,401, 500);
    echo "<b>$sujet</b>";
    echo "<br/><div class=\"stl_chaine\"> $res1 <br/><br/> $res2 <br/><br/> $res3</div>";
    }
    ?>
    le problème ce que ces couper ne respect aucun structure je veux faire une structure de ce code pour me donnée un résumer par exemple si j'ai sélectionnée 30% dans la liste de sélection il me donnée pour un texte de 10 paragraphes et chaque paragraphe contient 10 phrases le résultat attendu c'est 3 phrases pour chaque paragraphe et afficher ces résultats comme résumer !!

    si possible j'attente toujours des orientations ou des aidée pour amélioré mon code.

    Cordialement

  2. #2
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 325
    Par défaut
    Il faudrait avant toute chose découper $chaine en

    phrases et paragraphes : donc découper ce texte en retrouvant les .(fin de phrase) et les lignes blanches(fin de paragraphe).

    générer une liste de liste de mots :
    texte -> paragraphes -> phrases -> mots

    puis dans chaque paragraphes, afficher 30% ? sauf premier qui est le titre

  3. #3
    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
    c'est bon de découper la chaine en sous liste texte -> paragraphes -> phrases-> mots.
    c'est bien mais comment je peux faire mes testes de découpage plus les boucles d'affichage donne moi un simple exemple si vous permettez bien sur.

  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
    Bon j'essai d'utilisé la fonction explode() et il me donne des phrases, es ce que je peut l'utilisé plusieurs fois sur la même chaîne de caractère?

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Essaye et tu sauras...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 325
    Par défaut
    exemple tres tres basique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $delimitParagraphe = "\n\n"; // et \r si windows
    $paragraphes= explode ( $delimitParagraphe , $chaine );
    foreach ($paragraphes as $paragraphe) {
       $phrases= explode ( "." , $paragraphe );
       foreach (phrases as $phrase) {
          $mots= explode ( " " , $phrase );
       }
    }
    une version avec des regex serait bien meilleure ! en cherchant sur internet çà doit être facile a trouver.

  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
    Merci à vous tous bavino et papajoker

    j'ai bien compris comment faire à l'aide de l'exemple que tu ma offrir papajoker merci en cour une fois.

    je vais voir avec regex.
    cordialement

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    c'est justement dans un cas comme celui-ci que mes Fonctions de troncature de texte peuvent servir.

    Notamment la Fonction : "Résumé html"
    Car les paragraphes à résumer peuvent aussi contenir des balises html.

    La Fonction : "Résumé brut" quant à elle peut résumer un texte sans balise (un titre aussi), avec comme avantage de ne pas couper les mots.

Discussions similaires

  1. Couper les connections des utilisateurs
    Par ghosty04 dans le forum VBA Access
    Réponses: 1
    Dernier message: 10/03/2011, 10h33
  2. Réponses: 1
    Dernier message: 15/09/2008, 09h40
  3. Réponses: 2
    Dernier message: 19/03/2008, 17h38
  4. Réponses: 4
    Dernier message: 12/02/2007, 17h48
  5. [XSLT] Encadrer des paragraphes ayant les mêmes balises
    Par billou13 dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 21/10/2005, 10h18

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