[PHP] Comment extraire une partie d'un texte ?

Discussion dans 'Web, design' créé par Carambar, 24 Mai 2004.

Statut de la discussion:
Fermée.
  1. Offline
    Carambar He once forgot how to cry
    Je voudrais améliorer la page news de notre site en ajoutant une ou deux langues. Ces news sont en fait des posts qui figurent dans un forum phpBB dont je vais chercher le contenu avec un script.

    Ce que je voudrais faire c'est utiliser les trois langues dans un post représentant les news. Je souhaiterais utiliser un code pour différencier les trois versions différentes avec un code spécifique. Ensuite, j'utiliserais le scripte pour aller chercher le contenu d'un post comme d'habitude pour appliquer une transformation qui permettras d'extraire une partie du post en fonction de la langue voulue.

    C'est avec ce dernier point que je ne sais pas comment procéder. Merci d'avance pour toutes les suggestions.
    Carambar, 24 Mai 2004
    #1
  2. Offline
    Nicdm yuyu
    www.griz.be

    contacte le, si t'es gentil il te répondra peut-être :p
    Nicdm, 24 Mai 2004
    #2
  3. Offline
    PunkDeLuxe condom
    Alors si j'ai bien compris tu voudrais a partir d'une news mise sur ton forum, la transfèrée vers ton site, tu as déjà ce script il fonctionne nickel, sof k il t affiche tout ... (ds les 3 langues)


    Moi ce que je te propose :


    tu met des balises qui ne sont pas reconnues par ton forum par exemple : [lang=fr][/lang=fr] ce qui affichera lorske ke le choix de la langue sera le fr, tout ce qui se trouve dasn cette balise ...

    En gros tu as besoin de modifier ton scripts, pour k il t affiche une langue de base, et lorske le choix de la langue est fait par l'utilisateur, qu'il n affiche ke ce choix, ton script affichera ce qui se trouve entre ses balises... Puis faire un script ki se rapproche des smiley, qui remplace la chaine de caractere de la balise langue par "rien", str_remplace ou qqchose ds ce genre ;)
    Mais sache pour ce que tu veux faire et ce ke j ai compris, tu serras obligé de mettre ces balises affreuse qui seront visible mais non dérangeante sur le forum.
    PunkDeLuxe, 24 Mai 2004
    #3
  4. Offline
    Carambar He once forgot how to cry
    J'ai déjà une petite idée pour ce qui est des balises :) . Sur le forum, on utilise des petits smilies qui représentent les langues :

    :french:
    :english:
    :dutch:

    Si ceux-ci sont placés dans un order bien déterminé (disons anglais, puis francais en néerlandais), pourrait-il servir de balises ? Je vais essayer de trouver des informations sur les différentes fonctions qui existent pour les chaînes de caractéres.
    Carambar, 25 Mai 2004
    #4
  5. Offline
    MbK_ Etudjant
    pour l'instant, c'est le blokus alors je ne sais pas si il a le temps...
    mais il y a certainement qlq1 de competant et qi n'est pas en blokus
    MbK_, 25 Mai 2004
    #5
  6. Offline
    PunkDeLuxe condom
    Oui mais faudrait savoir comment est formater le texte des topic ds la base sql .... si le bbcode est interpreter dès sa création donc si ton smiley est mis ds la base sql en <img src=xxx> ca ne fonctionnera pas, par contre si ton bbcode est laissé tel quel ds la base de donnée, np ;)
    PunkDeLuxe, 25 Mai 2004
    #6
  7. Offline
    Carambar He once forgot how to cry
    Dans phpBB, je crois que les smilies restent sous leur forme originale et sont seulement interprétés par la suite lors de l'injection dans une template.

    En fait j'utilise le script phpBB Fetch All comme intermédaire. Il permet de récupérer uniquement le texte mais je ne sais s'il y a interprétation des smilies ou pas. Il dois y avoir moyen de paramétrer cela.

    Bon, si j'arrive à récupérer le texte brute, il reste à couper le texte en fonction en utilisant ":english:", ":french:" et ":dutch:" comme balise. J'ai trouvé une fonction qui pourrais faire l'affaire sur php.net mais il utilise qu'un seule caractére et il faudrais la transformer pour localiser toute une chaîne. Voici le script en question :

    http://www.php.net/manual/fr/function.substr.php

    Carambar, 26 Mai 2004
    #7
  8. Offline
    xXFMCXx ex membre
    Le mieux, et le plus simple sans doute, serait que tu recherches dans ta variable, grace à la fonction strpos().
    Donc, moi je te conseillerais d'utilisé comme on te la dit plus haut, des séparateurs du type [french] [/french]. Ensuite, tu utilises ta fonction strpos() pour localiser le premier French, et une autre fois strpos() pour localiser le dernier /French.
    Et pour finir, tu utilises la fonction substr() et tu indiques les positions de début et de fin, que tu auras réajuster parce que sinon tu risques d'avoir un [French] qui apparaitra au début de ton texte.

    J'espère que ce que j'ai écris ne fait pas trop brouillon.
    xXFMCXx, 27 Mai 2004
    #8
  9. Offline
    Carambar He once forgot how to cry
    Merci pour la suggestion. Je vais essayer cette fameuse fonction strpos() et je posterais une réponse si je trouve une partie de solution :) .
    Carambar, 28 Mai 2004
    #9
  10. Offline
    xXFMCXx ex membre
    Bonne chance ;)
    xXFMCXx, 29 Mai 2004
    #10
  11. Offline
    _gilles Elite
    Un bon livre que je conseille, c'est PHP de CAMPUSPRESS :wink:
    _gilles, 2 Juin 2004
    #11
  12. Offline
    alan Elite
    Une bonne bible que je conseille, c'est NEXEN de nexen
    alan, 2 Juin 2004
    #12
  13. Offline
    keep3r ex membre
    dans phpbb les smileys sont directement intérprèté

    donc une fois posté le code :smileys est transformé en balise HTML type
    Code:
    <img src="....." \>
    keep3r, 10 Juin 2004
    #13
Statut de la discussion:
Fermée.