Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/01/2012, 14h16   #1
Membre actif
 
Homme
Inscription : avril 2011
Messages : 426
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : avril 2011
Messages : 426
Points : 171
Points : 171
Par défaut Système de découpage de texte html pour créer des pages

Bonjour,

je réflechir à l’algorithme que pourrait représenter un système permettant de couper un texte html tout en conservant les balises. l'objectif est de créer des pages sur un article trop long.

Voici l'algorithme auquel j'ai pensé :

Code :
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
 
/*tant qu'il y a des caractères à couper
{
    si il n'y a plus assez de caracères à couper, on est en présence d'une seule page ou de la dernière page
    {
        si la variable incrementielle $page est supérieur à un, c'est la dernière page
        {
            $page = $page+1;
            on envoi en base la page
        }
        sinon c'est la première page
        {
            $page = 1;
            on envoi en base la page
        }
    }
    sinon
    {
        on regarde si on peut couper le texte en regardant si on est pas dans une balise non sécable
        {
            si on n'est pas dans une balise non sécable
            {
                $page++;
                on coupe, on envoi en base et on continue en déduisant les caractères enlevés
            }
            sinon
            {
                $page++;
                on cherche la balise fermante, on compte le nombre de caractère à ajouter aux caractères du départ
                on coupe on envoi en base et on continue en déduisant les caractères enlevés
            }
        }
    }
}*/
Qu'en pensez-vous ? Avez-vous des propositions ?

Merci pour votre aide
heretik25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 14h40   #2
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Bonjour,

je ferais plutôt un pseudo-code comme celui-ci :

Code :
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
/*
$page = 0
 
tant qu'il y a des caractères à couper
{
    si la variable incrementielle $page est inférieure à un, c'est la première page
    {
        $page = 1
    }
    sinon
    {
        $page = $page+1;
    }
 
    si on n'est pas dans une balise non sécable
    {
        on cherche la fin de la balise, on compte le nombre de caractères à ajouter aux caractères de départ
        $truncate = caractères à enlever
    }
    sinon
    {
        on cherche la balise fermante, on compte le nombre de caractère à ajouter aux caractères du départ
        $truncate = caractères à enlever
    }
 
    on coupe, on envoi en base $truncate et on continue en déduisant les caractères enlevés
 
}
*/
mais on ne voit pas très bien a quoi sert $page...

__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 14h46   #3
Membre actif
 
Homme
Inscription : avril 2011
Messages : 426
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : avril 2011
Messages : 426
Points : 171
Points : 171
Merci !

$page va permettre de connaître le numéro de page inféodé à la découpe.

découpe 1 = page 1, découpe 2 = page 2...
heretik25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 14h49   #4
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Citation:
Envoyé par heretik25 Voir le message
$page va permettre de connaître le numéro de page inféodée à la découpe.
oui je m'en doute bien, je voulais dire "dans ton pseudo-code"
__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 14h58   #5
Membre actif
 
Homme
Inscription : avril 2011
Messages : 426
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : avril 2011
Messages : 426
Points : 171
Points : 171
Mis à par ça, que verrais-tu à améliorer dans cette logique ?
heretik25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 15h55   #6
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
et bien, je pense que tu vas bien galérer....

je m'explique: dans ta boucle, imaginons que tu tombes sur une balise <div> un peu trop longue (genre début et fin d'article), ou encore, qui se trouve imbriquée dans une autre balise <div>, il y a de très fortes chances que ta mise en page se retrouve bancale une fois ta découpe réalisée.

ton idée est bonne, ta logique moins et surtout sa mise en application...

c'est mon avis, maintenant, je te laisse approfondir cet aspect

__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 16h00   #7
Membre actif
 
Homme
Inscription : avril 2011
Messages : 426
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : avril 2011
Messages : 426
Points : 171
Points : 171
Si je suis ici, c'est pour entendre d'autres logiques. Je n'ai pas dis que ma logique était parfaite. Que proposerais-tu de plus logique pour répondre au problème ?

Pour autant, tu dis que je risque de découper un </div> sauf que </div> est une balise que ne sera pas autorisée à couper. A noter que le texte découpé proviendra d'un html généré par tinymce.

Merci pour ton aide
heretik25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h36.


 
 
 
 
Partenaires

Hébergement Web