begin process at 2012 05 30 17:16:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Parser le texte en entier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Parser le texte en entier

samedi 10 mars 2007 à 20:29:07 | Parser le texte en entier

Also know as

Membre Club
Bonjour,

Voilà j'essaye de faire un parser.
Tout ce qui est création du fichier xml etc pour le moment ca devrait aller, en fait je cherche plus précisément à détecter plusieurs fois le même mot SI plusieurs fois il y'a.

Voici ce que j'utilise :

        Voici un bout de source :
        <?php
            $url_handle 
fopen("
fparser.php""rb");
            
$url_contents '';
            while (!
feof($url_handle))
                
$url_contents .= fread($url_handle8192);
            
fclose($url_handle);
            
$url_contents=str_replace("\r\n",'',$url_contents);
            
            
$motif_fr '`<nom>(.+?)</nom>`';
            
preg_match($motif_fr,$url_contents,$result_fr);
            
$nom str_replace(array('<nom>','</nom>'),array('',''),$result_fr[0]);
            echo 
'<li>'.$nom.'</li>';
        
?>


Et voici un bout de ma page "fparser.php":

<nom>Systeme Unix</nom>
....
<nom>Anglais</nom>

Le problème étant que si j'utilise cette méthode je n'obtiens que le premier (Systeme Unix) pas le reste (Anglais).

J'aimerais savoir comment faire pour qu'il parse toute la page !

Merci d'avance

@+
samedi 10 mars 2007 à 21:09:18 | Re : Parser le texte en entier

DiGhan

Salut, il faut utiliser le flag 'm' (multilignes) dans les options: $motif_fr = '`(.+?)`m'; NOTA: pour supprimer les caractères d'espacements, il existe la fonction trim().
samedi 10 mars 2007 à 21:13:22 | Re : Parser le texte en entier

Also know as

Membre Club
Je viens de tester ce que tu m'as dis pour le flag multilignes et cela ne fonctionne pas, je n'ai malheureusement aucune différence.
Est-ce normal ou bien dois-je rajouter encore quelque chose ?

Merci quand même de ton aide :)

@+
samedi 10 mars 2007 à 21:22:49 | Re : Parser le texte en entier

DiGhan

réessayes mais sans cette ligne: $url_contents=str_replace("\r\n",'',$url_contents);
samedi 10 mars 2007 à 21:28:11 | Re : Parser le texte en entier

Also know as

Membre Club
Non toujours pas :

Voici ma source :

<html>
    <body>
        Voici les noms :
        <?php
            $url_handle = fopen("./file.xml", "rb");
            $url_contents = '';
            while (!feof($url_handle))
                $url_contents .= fread($url_handle, 8192);
            fclose($url_handle);
           
            $motif_fr = '`<nom>(.+?)</nom>`m';
            preg_match($motif_fr,$url_contents,$result_fr);
            $nom = str_replace(array('<nom>','</nom>'),array('',''),$result_fr[0]);
            echo '<li>'.$nom.'</li>';
        ?>
    </body>
</html>

et voici la page que je veux parser :

<?xml version="1.0" encoding="ISO-8859-1"?>
<day><activite><nom>TP pipes - B2 - Systeme Unix</nom><url>index.php?section=elearning</url><debut>13:00</debut><duree>03:00</duree><description>TP Pipes</description><lieu>SM 24-25 - Salle Machine</lieu><matiere>B2 - Systeme Unix</matiere><type>TP</type></activite><activite><nom>Class 2.6.2 (Intensive Listening, Speaking, Reading and Writing) - B2 - Anglais</nom><url>index.php?section=elearning</url><debut>16:00</debut><duree>01:30</duree><description>In this second class of the week we will continue reviewing for the Mid-Term Exam.

We will also do an assortment of exercises to help you improve your listening, speaking, reading and writing skills.

Please bring your pens, paper, English materials and your dictionaries!
</description><lieu>ip03 - Salle de cours</lieu><matiere>B2 - Anglais</matiere><type>Cours</type></activite></day>

Voilà !

Et j'ai toujours que le premier donc je comprend vraiment pas ^_^
samedi 10 mars 2007 à 21:43:23 | Re : Parser le texte en entier

malalam

Administrateur CodeS-SourceS
Hello,

pourquoi n'utilises tu pas simpleXML, ou DOMDocument, par exemple...?
samedi 10 mars 2007 à 21:45:47 | Re : Parser le texte en entier

Also know as

Membre Club
très simple j'ai pris comme extension xml, mais je souhaite le faire pour toute sorte de fichier, que ce soit des pages html ou encore du fichier texte, peu importe, s'il le faut je remplace le fichier xml par un .txt ^_^

Disons que si j'arrive à savoir le faire pour là je pourrais le faire sur le reste :)

@+
samedi 10 mars 2007 à 22:13:10 | Re : Parser le texte en entier

DiGhan

cette fois-ci, c'est la bonne ! (.+?)`',$buffer,$matches)) { echo '
  • '.$matches[1].'
  • '; } } } fclose($handle); ?>
    samedi 10 mars 2007 à 22:18:21 | Re : Parser le texte en entier

    DiGhan

    $res est à supprimer.
    samedi 10 mars 2007 à 22:23:42 | Re : Parser le texte en entier

    Also know as

    Membre Club
    Salut,

    J'ai cherché quelque chose comme ca mais je n'ai pas trouvé, merci beaucoup et je pense que tu n'ai pas loin u alors chez toi ca fonctionne mais pas chez moi

    Voici la page ou tu peux constater par toi même :

    http://architecte-warez.com/mytests/

    Voici les deux fichier qui existent :
       - index.php
       - file.xml

    Tu peux télécharger file.xml si tu veux c'est celui que je t'ai donné juste au dessus et je suis sur un serveur 1&1 (bien que je pense que cela n'y change strictement rien).

    Voici ce qui se trouve EXACTEMENT dans le fichier index.php :

    <html>
        <body>
            Voici les noms :
            <?php
                $handle = fopen('file.xml', 'r');
                if ($handle)
                {
                    while (!feof($handle))
                    {
                        $buffer = trim( fgets($handle,1024) );
                        if (preg_match('`<nom>(.+?)</nom>`',$buffer,$matches))
                        {
                            echo '<li>'.$matches[1].'</li>';
                        }
                    }
                }
                fclose($handle);
            ?>
        </body>
    </html>

    Pourtant ce que tu as trouvé me semble correct, mais là je comprend plus rien du tout, en tout cas merci pour le mal que tu te donne, chapeau l'artiste ^_^

    @+

    1 2

    Cette discussion est classée dans : texte, url, handle, parser, contents


    Répondre à ce message

    Sujets en rapport avec ce message

    textarea [ par eax ] salut!je viens poser une question qui n'a aucun rapport avec le php, mais on ne sait jamais :je voulais juste savoir comment faire pour mettre différe Mini Pb avec ereg_replace() [ par nicolas66 ] <a href="Bonjour @ tous les programmeurs : br Toujours pr mon forum, jessaye de mettre en place des boutons js qui font saisir à l utilisateur url et Resultat vers fichier texte ??? Aidez moi [ par supergrey ] Bonjour, j'ai une url qui me donne la valeur du cour EUR/USD en direct.Je veux utiliser cette valeur dans un programme C++ en téléchargeant une page Textarea = > HTML OK mais comment faire l'inverse [ par ranouf ] En me baladant sur le net g trouve cette 'petite' fonction qui me transform comme il faut ma textarea en HTML (nb : grace au bbcode)//---------------- transmettre du texte contenant des espaces dans une URL [ par ala_daly ] Comment transmettre une variable contenu un texte contenant des espaces et des caracteres accentués d'une page à une autre, j'ai besoin d'un solution probleme avec fwrite... [ par Teclis01 ] Voila j explique quelques petites choses avant tout !$url contient une url entrée par l utilisateur via un formulaireje veux en fait recuperer le code Afficher un texte en fonction de l'url [ par Rimb0 ] Bonjour à tous ! Voila je vous explique un peu. J'ai une page qui se nomme : http://www.monsite.com/super.php?p=cool J'aimerai afficher l'adresse de un script simple pour vous mais compliqué pour moi...need HELP!!! [ par termifr ] bonjour,j'ai quelques problémes pour la création de mon script.j'aimerais créer une page add.phpdans celle-ci je souhaiterz une sorte de formullaire o texte clignotant [ par eax ] g encore une question: comment on fait clignoter un texte?je connais pas la commande CSS ou HTML qui fait ça... Sylvain [email] [ arguments et url ? (débutant) [ par inconnuanonyme ] Bonjour !Avant toute chose je tiens à préciser que je suis débutant en la matière.Voici ma question :un site propose une page où l'on peut écrire un t


    Nos sponsors


    Sondage...

    Comparez les prix

    CalendriCode

    Mai 2012
    LMMJVSD
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   

    Consulter la suite du CalendriCode

    Photothèque

    A découvrir



     
    Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
    CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
    CodeS-SourceS.com© est une marque déposée tous droits réservés

    Google Coop CodeS-SourceS Google Coop CodeS-SourceS
    Temps d'éxécution de la page : 4,415 sec (3)

    Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales