[PHP] Problème avec script

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par link182, 7 Novembre 2006.

  1. link182
    link182 WRInaute occasionnel
    Inscrit:
    26 Juillet 2005
    Messages:
    426
    J'aime reçus:
    0
    Bonjour à tous,

    je suis en train de faire un forum pour mon site, et j'ai inclu des citations de ce style la :

    [.quote="nico"]Ceci est un petit test[/quote.]

    et j'aimerais bien le transformer via php en çà :

    <div style='...'><span style='...'>nico :</span>
    Ceci est un petit test
    </div>

    Mais je n'arrive à extraire l'auteur (nico) et le message ("ceci est un petit test") de la chaine...

    Merci du coup de pouce :roll:
     
  2. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
    Tes données sont enregistrée comment à la base? Sous un format phpbb?
     
  3. link182
    link182 WRInaute occasionnel
    Inscrit:
    26 Juillet 2005
    Messages:
    426
    J'aime reçus:
    0
    Je ne sais pas, jamais utiliser PhpBB.
    le message est enregistré comme ceci :

    mysql_real_escape_string($_POST['message']);
     
  4. oxman
    oxman WRInaute discret
    Inscrit:
    21 Juin 2004
    Messages:
    111
    J'aime reçus:
    0
    Code:
    $tonmessage = '[quote="nico"]Ceci est un petit test[/quote]';
    ereg("\[quote=\"([^\"]+)\"\](.+)\[/quote\]$", $tonmessage, $args);
    $args[1] == "nico"
    $args[2] == "Ceci est un petit test"
    
    Si je n'ai pas fait d'erreur ;)
     
  5. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 274
    J'aime reçus:
    0
    quoique, pour récupérer le contenu, ne faut-il pas
    Code:
    ([^\[]+)
    au lieu de
    Code:
    (.+)
    pour éviter, en cas de multiples citations, qu'il ne prenne tout le texte entre le premier
    ?
     
  6. link182
    link182 WRInaute occasionnel
    Inscrit:
    26 Juillet 2005
    Messages:
    426
    J'aime reçus:
    0
    Merci à toi oxman cela marche, mais seulement si on ne rajoute pas de texte après [/quote] (avant
     
  7. oxman
    oxman WRInaute discret
    Inscrit:
    21 Juin 2004
    Messages:
    111
    J'aime reçus:
    0
    J'ai pensé qu'il n'y avait qu'une quote, et que c'était dans une colonne spéciale ou tu stockais le quote.

    Sinon j'aurais fait comme Leonick le précise, ce qui donne :
    Code:
    ereg("\[quote=\"([^\"]+)\"\]([^\[]+)\[/quote\]", $tonmessage, $args); 
    
     
  8. link182
    link182 WRInaute occasionnel
    Inscrit:
    26 Juillet 2005
    Messages:
    426
    J'aime reçus:
    0
    Merci, cela marche, mais je ne sais pas si la façon dont j'implémente mes citations est correcte.

    Dans ma BD, je stocke tous dans un seul champ, je ne sépare donc pas le message et les citations. D'ailleurs, je crois que je ne pourrais pas faire de citations imbriquées ?


    Et encore un chtite question (j'aime pô les regexp !) : comment remplacer mes quotes par mon div fraichement créé (je n'arrive pas à delimiter les balises QUOTE) ?

    Code:
    
    functon replace_quote($str)
    {
    	ereg("\[quote=\"([^\"]+)\"\]([^\[]+)\[/quote\]", $str, $args);
    	$new_div = "<div>".args[1]." a dit :<br />".$args[2]."</div>";	
    	
    	$str = str_replace(...) // Comment remplacer les balises QUOTES ?
    
    	return $str;
    }
    
    
     
  9. oxman
    oxman WRInaute discret
    Inscrit:
    21 Juin 2004
    Messages:
    111
    J'aime reçus:
    0
    Non ta façon est correcte, mais j'ai vu quelques trucs farfelus sur le forum, alors je me suis dit que j'étais peut-être en train d'en voir une de plus =')

    Je ne comprends pas ta question, ni ce que tu as besoin de remplacer.
    Tu as déjà ton message (de la quote) supprimé de toutes balises. Donc tu peux faire ensuite <quote>$message_du_quote</quote> par exemple.
     
  10. link182
    link182 WRInaute occasionnel
    Inscrit:
    26 Juillet 2005
    Messages:
    426
    J'aime reçus:
    0
    Il faut bien remplacer quelque part dans la string les balises QUOTES par des DIV (pour avoir une bordure et un style particulier, comme sur le forum PhpBB par exemple)

    Le regexp que tu m'a donné me permets jsute d'extraire l'auteur et le message de la quote (dans le tableau $arg). Ensuite je dois normalement remplacer toutes la quote par mon div formaté (avec l'auteur et le texte) pour qu'il puisse être affiché...et ça je sais pas faire. j'espère être clair lol
     
  11. oxman
    oxman WRInaute discret
    Inscrit:
    21 Juin 2004
    Messages:
    111
    J'aime reçus:
    0
    Ah oué donc en fait ce que tu as demandé au début ne te sert à rien :p

    C'est donc pour ça que je pensais que tu gérais tes quotes différemment.

    Pour info la doc php donne :
    Code:
    echo $bodytag = str_replace("%body%", "black", "<body text='%body%'>");
    Transposé à toi ça donne quelque chose du genre (pour une partie du replace) :
    Code:
    $msg = str_replace("[quote]", "<span style=\"bidule\">", $msg);
    $msg = str_replace("[/quote]", "</span>", $msg);
     
  12. link182
    link182 WRInaute occasionnel
    Inscrit:
    26 Juillet 2005
    Messages:
    426
    J'aime reçus:
    0
    Oui, c'est cela qu'il me fallait, merci.
     
Chargement...
Similar Threads - [PHP] Problème script Forum Date
[PHP] Problème avec une page profil.php Développement d'un site Web ou d'une appli mobile 10 Août 2010
[PHP] Probleme de WARNING étrange... Développement d'un site Web ou d'une appli mobile 25 Février 2009
[PHP] Probleme avec les regex Développement d'un site Web ou d'une appli mobile 1 Juillet 2008
[PHP] Problème avec escapeshellarg() Développement d'un site Web ou d'une appli mobile 7 Décembre 2007
{RESOLU} [PHP] Problème étrange... date(), time() Développement d'un site Web ou d'une appli mobile 20 Mars 2007
[PHP] Problème page protégées Développement d'un site Web ou d'une appli mobile 3 Septembre 2006
[PHP] Problème bête avec if() Développement d'un site Web ou d'une appli mobile 12 Août 2006
[PHP] Probléme de conversion de date Développement d'un site Web ou d'une appli mobile 25 Juin 2006
[PHP] - problème avec les headers. Développement d'un site Web ou d'une appli mobile 22 Février 2006
[PHP] Problème avec array_multisort Développement d'un site Web ou d'une appli mobile 27 Septembre 2005
[PHP] Probleme temps generation Problèmes de référencement spécifiques à vos sites 15 Septembre 2005
[Résolu][PHP] Problème sur une fonction avec un serveur UNIX Administration d'un site Web 2 Juin 2004
[PHP] problème valeur de variables Problèmes de référencement spécifiques à vos sites 21 Mai 2004
Astuce [PHP] Récolter ville, pays du visiteur Développement d'un site Web ou d'une appli mobile 9 Mars 2021
[PHP] Détecter le navigateur / bot en fonction du HTTP_USER_AGENT Développement d'un site Web ou d'une appli mobile 14 Septembre 2019
[PHP] Détecter le navigateur / bot en fonction du HTTP_USER_AGENT Développement d'un site Web ou d'une appli mobile 12 Janvier 2017
[PHP] Cookie vide dans une fonction, complet juste avant ou après Développement d'un site Web ou d'une appli mobile 25 Novembre 2014
[php] Cookie d'un domaine vers un sous-domaine Développement d'un site Web ou d'une appli mobile 29 Août 2014
[PHP]Cci mails Développement d'un site Web ou d'une appli mobile 18 Août 2014
[PHP] gethostbyname Développement d'un site Web ou d'une appli mobile 15 Février 2014